集合,集合是java中提供的一种容器,可以用来存储多个数据。
在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据。那么,集合和数组既然都是容器,它们有啥区别呢?
- 数组的长度是固定的,集合的长度是可变的
- 集合中存储的元素必须是引用类型数据
查看API的继承体系我们可以得知 , Collecton接口常用的子接口有:List接口和Set接口
- List接口常用的子类有:ArrayList类、LinkedList类
- Set接口常用的子类有:HashSet类、LinkedHashSet类
如下图:
Collection接口中的方法 是集合中所有实现类必须拥有的方法
- toArray()
1 /* Collection接口方法 2 * Object[] toArray() 集合中的元素,转成一个数组中的元素, 集合转成数组 3 * 返回是一个存储对象的数组, 数组存储的数据类型是Object 4 */ 5 private static void function_2() { 6 Collection<String> coll = new ArrayList<String>(); 7 coll.add("abc"); 8 coll.add("张二狗"); 9 coll.add("test"); 10 coll.add("money"); 11 coll.add("123"); 12 13 Object[] objs = coll.toArray(); 14 for(int i = 0 ; i < objs.length ; i++){ 15 System.out.println(objs[i]); 16 } 17 }
- contains()
boolean b = coll.contains("test"); System.out.println(b);
- clear()
1 /* 2 * Collection接口的方法 3 * void clear() 清空集合中的所有元素 4 * 集合容器本身依然存在 5 */ 6 public static void function(){ 7 //接口多态的方式调用 8 Collection<String> coll = new ArrayList<String>(); 9 coll.add("abc"); 10 coll.add("bcd"); 11 System.out.println(coll); 12 13 coll.clear(); 14 15 System.out.println(coll); 16 17 } 18 }
- remove()
3 /* 4 * Collection接口方法 5 * boolean remove(Object o)移除集合中指定的元素 6 */ 7 private static void function_3(){ 8 Collection<String> coll = new ArrayList<String>(); 9 coll.add("abc"); 10 coll.add("money"); 11 coll.add("test"); 12 coll.add("张二狗"); 13 coll.add("money"); 14 coll.add("123"); 15 System.out.println(coll); 16 17 boolean b = coll.remove("money"); 18 System.out.println(b); 19 System.out.println(coll); 20 }