Collection

Collection介绍

  • Collection 层次结构中的根接口。
  • Collection表示一组对象,这些对象也称为collection的元素。
  • JDK 不提供此接口的任何直接实现:它提供更具体的子接口(如 Set 和 List、Queue)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。

1.添加元素

  • add(E obj):添加元素对象到当前集合中
  • addAll(Collection<? extends E> other):添加other集合中的所有元素对象到当前集合中,即this = this ∪ other

代码示例

 

 1 public class Demo05 {
 2     public static void main(String[] args){
 3         //创建集合对象
 4         //使用多态形式
 5         Collection coll = new ArrayList();
 6         coll.add("小明");
 7         coll.add("小红");
 8         coll.add("小刚");
 9         System.out.println("coll的集合:" + coll);
10 
11         Collection other = new ArrayList();
12         other.add("大娃");
13         other.add("二娃");
14         System.out.println("other的集合:" + other);
15 
16         coll.addAll(other);
17         System.out.println("addAll()后,coll的集合:" + coll);
18     }
19 }

运行结果

coll的集合:[小明, 小红, 小刚]
other的集合:[大娃, 二娃]
addAll()后,coll的集合:[小明, 小红, 小刚, 大娃, 二娃]

 

2.删除元素

  • boolean remove(Object obj) :从当前集合中删除第一个找到的与obj对象equals返回true的元素。
 1 public class Demo05 {
 2     public static void main(String[] args){
 3         //创建集合对象
 4         //使用多态形式
 5         Collection coll = new ArrayList();
 6         coll.add("小明");
 7         coll.add("小红");
 8         coll.add("小刚");
 9         coll.add("小明");
10         coll.add("小红");
11         System.out.println(coll);
12         coll.remove("小红");
13         System.out.println(coll);
14     }
15 }

运行结果

[小明, 小红, 小刚, 小明, 小红]
[小明, 小刚, 小明, 小红]

 

  • boolean removeAll(Collection<?> coll):从当前集合中删除所有与coll集合中相同的元素。即this = this - this ∩ coll
 1 public class Demo05 {
 2     public static void main(String[] args){
 3         Collection coll = new ArrayList();
 4         coll.add("小明");
 5         coll.add("小红");
 6         coll.add("小刚");
 7         coll.add("小明");
 8         coll.add("小红");
 9         System.out.println(coll);
10 
11         Collection other = new ArrayList();
12         other.add("小绿");
13         other.add("小黄");
14         other.add("小红");
15         System.out.println(other);
16 
17         coll.removeAll(other);
18         System.out.println(coll);
19     }
20 }

运行结果

[小明, 小红, 小刚, 小明, 小红]
[小绿, 小黄, 小红]
[小明, 小刚, 小明]

 

3.判断

  • boolean isEmpty():判断当前集合是否为空集合。
  • boolean contains(Object obj):判断当前集合中是否存在一个与obj对象equals返回true的元素。
 1 public class Demo05 {
 2     public static void main(String[] args){
 3         Collection coll = new ArrayList();
 4         coll.add("小明");
 5         coll.add("小红");
 6         coll.add("小刚");
 7         System.out.println(coll);
 8         
 9         System.out.println("coll是否为空呢? " + coll.isEmpty());
10         System.out.println("小红是否在集合中:" + coll.contains("小红"));
11 
12 
13     }

 

 运行结果

[小明, 小红, 小刚]
coll是否为空呢? false
小红是否在集合中:true

 

  • boolean containsAll(Collection<?> c):判断c集合中的元素是否在当前集合中都存在。即c集合是否是当前集合的“子集”。
public class Demo05 {
    public static void main(String[] args){
        Collection coll = new ArrayList();
        coll.add("小明");
        coll.add("小红");
        coll.add("小刚");
        System.out.println(coll);

        Collection other = new ArrayList();
        other.add("小绿");
        other.add("小黄");
        other.add("小红");
        System.out.println(other);
        boolean flag = coll.containsAll(other);
        System.out.println(flag);
        
        Collection other2 = new ArrayList();
        other2.add("小明");
        other2.add("小红");
        System.out.println(other2);
        boolean flag2 = coll.containsAll(other2);
        System.out.println(flag2);
    }
}

 

 运行结果

[小明, 小红, 小刚]
[小绿, 小黄, 小红]
false
[小明, 小红]
true

 

 

 4.获取元素个数

  •  int size():获取当前集合中实际存储的元素个数
public class Demo05 {
    public static void main(String[] args){
        Collection coll = new ArrayList();
        coll.add("小明");
        coll.add("小红");
        coll.add("小刚");
        System.out.println(coll);
        System.out.println(coll.size());
    }
}

 

 运行结果

[小明, 小红, 小刚]
3

 

 

 5.交集

  • boolean retainAll(Collection<?> coll):当前集合仅保留与c集合中的元素相同的元素,即当前集合中仅保留两个集合的交集,即this = this ∩ coll;
 1 public class Demo05 {
 2     public static void main(String[] args){
 3         Collection coll = new ArrayList();
 4         coll.add(1);
 5         coll.add(2);
 6         coll.add(3);
 7         coll.add(4);
 8         coll.add(5);
 9         System.out.println("coll集合元素的个数:" + coll.size());//5
10 
11         Collection other = new ArrayList();
12         other.add(1);
13         other.add(2);
14         other.add(8);
15 
16         coll.retainAll(other);//保留交集
17         System.out.println(coll);
18         System.out.println("coll集合元素的个数:" + coll.size());//2
19     }
20 }

 

 运行结果

1 coll集合元素的个数:5
2 [1, 2]
3 coll集合元素的个数:2

 

 

 6.转为数组

  • Object[] toArray():返回包含当前集合中所有元素的数组
 1 public class Demo05 {
 2     public static void main(String[] args){
 3         Collection coll = new ArrayList();
 4         coll.add("小明");
 5         coll.add("小红");
 6         coll.add("小刚");
 7         System.out.println(coll);
 8 
 9         Object[] arr = coll.toArray();
10         for(int i=0; i<arr.length; i++){
11             System.out.print(arr[i] + " ");
12         }
13     }
14 }

 

 运行结果:

[小明, 小红, 小刚]
小明 小红 小刚 

 

posted @ 2021-11-17 19:19  白森  阅读(333)  评论(0编辑  收藏  举报