java中的集合
集合是java中提供的一种容器,可以用来存储多个数据。
集合和数组都是元素,他们的区别:
数组的长度是固定的。集合的长度是可变的。集合中存储的元素必须是引用类型数据。
使用ArrayList集合存储元素并遍历的过程:
public static void main(String[] args) { ArrayList<Double> arr1=new ArrayList<Double>(); arr1.add(1.6); arr1.add(2.3); arr1.add(3.6); for(int i=0;i<arr1.size();i++){ System.out.print(arr1.get(i)+" "); }
//集合存储引用数据类型 ArrayList<Person> arr2=new ArrayList<Person>(); arr2.add(new Person("张三",18)); arr2.add(new Person("小红帽",8)); arr2.add(new Person("大灰狼",55)); for(int i=0;i<arr2.size();i++){ System.out.println(arr2.get(i)); }
集合的继承实现关系:
Collection接口常用的子接口有:List接口、Set接口
List接口常用的子类有:ArrayList类、LinkedList类
Set接口常用的子类有:HashSet类、LinkedHashSet类
记住下面这张图:
其中list允许有重复元素,且是有序。set中不允许有重复元素,且为无序。
Collection接口的基本方法
创建集合的格式:
方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();(一般常用的)
方式2:Collection 变量名 = new ArrayList();
//创建Collection对象 Collection<String> col=new ArrayList<String>(); //添加元素 //add(E e)方法,E代表创建集合时所指定的数据类型如<String>,那么,E就代表String类型;创建集合时若没有指定数据类型,那么,E就代表Object类型。 col.add("中国"); col.add("你好"); col.add("java");
//判断集合中是否包含某元素,返回值为布尔值 boolean flag=col.contains("java"); System.out.println(flag);
//移除集合中的元素 ,返回值为布尔值 boolean obj=col.remove("你好"); System.out.println(obj);
//清除集合中的内容 //col.clear();
//将集合转为数组 // 数组转型时 不能直接强转 需要对数组中的元素遍历 强转 Object[] obj1=col.toArray(); //遍历数组 for(int i=0;i<obj1.length;i++){ System.out.println(obj1[i]); } //遍历集合 ArrayList<String> arr=null; if(col instanceof ArrayList){ arr=(ArrayList<String>)col; } for(int i=0;i<arr.size();i++){ System.out.println(arr.get(i)); }