集合之一:集合概述

集合,集合是java中提供的一种容器,可以用来存储多个数据。

     在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据。那么,集合和数组既然都是容器,它们有啥区别呢?

  1.       数组的长度是固定的,集合的长度是可变的
  2.    集合中存储的元素必须是引用类型数据

查看API的继承体系我们可以得知 , Collecton接口常用的子接口有:List接口和Set接口

  1.      List接口常用的子类有:ArrayList类、LinkedList类
  2.       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     }
原文地址:https://www.cnblogs.com/lotus-wmm/p/8303660.html