黑马程序员——Collection常用的方法总结

来源:互联网 发布:c语言入门基础知识 编辑:程序博客网 时间:2024/05/22 12:23

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 

      Collection 接口用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。Collection 是List和Set 的父类。并且它本身也是一个接口。它定义了作为集合所应该拥有的一些方法。如下:

 

注意:

   集合必须只有对象,集合中的元素不能是基本数据类型。

Collection接口支持如添加和除去等基本操作。设法除去一个元素时,如果这个元素存在,除去的仅仅是集合中此元素的一个实例。

微笑     boolean add(Object element)

微笑    boolean remove(Object element)

Collection 接口还支持查询操作:

微笑    int size()

微笑     boolean isEmpty()

微笑     boolean contains(Object element)

微笑     Iterator iterator()

组操作:Collection 接口支持的其它操作,要么是作用于元素组的任务,要么是同时作用于整个集合的任务。

微笑    boolean containsAll(Collection collection)

微笑    boolean addAll(Collection collection)

微笑     void clear()

微笑    void removeAll(Collection collection)

微笑    void retainAll(Collection collection)

     containsAll() 方法允许您查找当前集合是否包含了另一个集合的所有元素,即另一个集合是否是当前集合的子集。其余方法是可选的,因为特定的集合可能不支持集合更改。 addAll() 方法确保另一个集合中的所有元素都被添加到当前的集合中,通常称为。 clear() 方法从当前集合中除去所有元素。 removeAll()方法类似于 clear(),但只除去了元素的一个子集。 retainAll()方法类似于 removeAll()方法,不过可能感到它所做的与前面正好相反:它从当前集合中除去不属于另一个集合的元素,即

 

我们看一个简单的例子,来了解一下集合类的基本方法的使用:

import java.util.*;

public class CollectionToArray{

    public static void main(String[]args) {     

      Collection collection1=new ArrayList();//创建一个集合对象

      collection1.add("000");//添加对象到Collection集合中

      collection1.add("111");

      collection1.add("222");

      System.out.println("集合collection1的大小:"+collection1.size());

      System.out.println("集合collection1的内容:"+collection1);

      collection1.remove("000");//从集合collection1中移除掉"000"这个对象

      System.out.println("集合collection1移除 000后的内容:"+collection1);

      System.out.println("集合collection1中是否包含000"+collection1.contains("000"));

      System.out.println("集合collection1中是否包含111"+collection1.contains("111"));

      Collection collection2=new ArrayList();

      collection2.addAll(collection1);//collection1集合中的元素全部都加到collection2

      System.out.println("集合collection2的内容:"+collection2);

      collection2.clear();//清空集合 collection1中的元素

      System.out.println("集合collection2是否为空"+collection2.isEmpty());

      //将集合collection1转化为数组

      Object s[]= collection1.toArray();

      for(int i=0;i<s.length;i++){

          System.out.println(s[i]);

      }

    }

}

运行结果为:

集合collection1的大小:3

集合collection1的内容:[000, 111, 222]

集合collection1移除 000 后的内容:[111, 222]

集合collection1中是否包含000 :false

集合collection1中是否包含111 :true

集合collection2的内容:[111, 222]

集合collection2是否为空 :true

111

222

 

这里需要注意的是,Collection 它仅仅只是一个接口,而我们真正使用的时候,确是创建该接口的一个实现类。做为集合的接口,它定义了所有属于集合的类所都应该具有的一些方法。

而ArrayList (列表)类是集合类的一种实现方式。

 

这里需要一提的是,因为Collection的实现基础是数组,所以有转换为Object数组的方法:

微笑     Object[] toArray()

微笑     Object[] toArray(Object[] a)

其中第二个方法Object [ ] toArray(Object [ ] a) 的参数 a 应该是集合中所有存放的对象的类的父类。



------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 

0 0