Java学习笔记114——集合类—collection接口的成员方法

集合类——collection接口的成员方法

Collection:是集合中的顶层接口,它存在由它扩展开来的继承体系,为什么要分出很多不同的集合? 根据元素是否唯一,是否有序来区分这么多集合(后面的课程中会一一介绍)

Collection:

1、添加功能

boolean add(Object obj) 确保此集合包含指定的元素(可选操作)。 boolean addAll(Collection c) 将指定集合中的所有元素添加到此集合(可选操作)。

2、删除功能

boolean remove(Object o) 从该集合中删除指定元素的单个实例(如果存在)(可选操作)。 boolean removeAll(Collection<?> c) 删除指定集合中包含的所有此集合的元素(可选操作)。 void clear() 从此集合中删除所有元素(可选操作)。

3、获取功能

Iterator<E> iterator() 返回此集合中的元素的迭代器。

4、判断功能

boolean contains(Object o) 如果此集合包含指定的元素,则返回 true 。 boolean containsAll(Collection<?> c) 如果此集合包含指定 集合中的所有元素,则返回true。 boolean isEmpty() 如果此集合不包含元素,则返回 true 。

5、获取长度功能

int size() 返回此集合中的元素数。

6、求交集功能

boolean retainAll(Collection<?> c) 仅保留此集合中包含在指定集合中的元素(可选操作)。

7、将集合转换成数组

Object[] toArray() 返回一个包含此集合中所有元素的数组。

 

Collection是接口,List也是接口,ArrayList才是类,想实例化一个Collection接口就需要用到 ArrayList类来实现。

public class CollectionDemo1 {
    public static void main(String[] args) {
        //通过子类的形式创建对象,这叫接口多态
        Collection c = new ArrayList();
​
        //boolean add(Object obj) 确保此集合包含指定的元素(可选操作)。返回值为boolean类型,true代表成功添加
        System.out.println(c.add("hello"));
        System.out.println(c.add("hello"));//说明ArrayList可以有重复的元素
        c.add(20);//Collection接口里面做了自动装箱,把int类型的数据自动转换成了Integer类型
        c.add(12.34);
​
        //void clear()
        //从此集合中删除所有元素(可选操作)。
//        c.clear();
​
        //boolean remove(Object o)
        //从该集合中删除指定元素的单个实例(如果存在)(可选操作)。
        //只移除一个符合条件的
        System.out.println("从该集合中删除指定元素" + c.remove("hello"));
​
        //boolean contains(Object o)
        //如果此集合包含指定的元素,则返回 true 。
        System.out.println(c.contains("hello"));
​
        //boolean isEmpty()
        //如果此集合不包含元素,则返回 true 。
        System.out.println(c.isEmpty());
​
        //获取长度功能int size()
        // 返回此集合中的元素数。
        System.out.println(c.size());
​
​
        //String toString()
        //返回此集合的字符串表示形式。  AbstractCollection类中的toString()方法
        //ArrayList本身是,没有toString方法的,而是继承了AbstractList类里面的方法
        /**
         * java.lang.Object
         *      java.util.AbstractCollection<E>
         *          java.util.AbstractList<E>
         *              java.util.ArrayList<E>
         */
        System.out.println("集合c: " + c);
    }
}

boolean addAll(Collection c) boolean类型 把c2添加到c1中 boolean removeAll(Collection c) boolean类型 移除c1中与c2有交集的元素 boolean containsAll(Collection c) boolean类型 判断c1中是否包含c2的全部元素 boolean retainAll(Collection c) boolean类型 保留c1中与c2有交集的元素

public class CollectionDemo2 {
    public static void main(String[] args) {
        //创建一个集合对象
        Collection c1 = new ArrayList();
​
        //向集合中添加元素
        c1.add("hello");
        c1.add("world");
        c1.add("java");
        c1.add("hadoop");
        c1.add("hive");
//        c1.add("spark");
​
        //定义另一个集合
        Collection c2 = new ArrayList();
        c2.add("hello");
        c2.add("world");
        c2.add("hive");
        c2.add("spark");
        System.out.println("c1: "+c1);
        System.out.println("c2: "+c2);
        System.out.println("===============================");
​
        //boolean addAll(Collection c)
//        System.out.println("将c2添加到从c1中:");
//        System.out.println(c1.addAll(c2));
//        System.out.println("c1: "+c1);
//        System.out.println("c2: "+c2);
​
//        System.out.println("===============================");
        //boolean removeAll(Collection c) 删除指定集合中包含的所有此集合的元素(可选操作)。
        // 此调用返回后,此集合将不包含与指定集合相同的元素。
//        System.out.println(c1.removeAll(c2));
//        System.out.println("c1: "+c1);
//        System.out.println("c2: "+c2);
//        System.out.println("===============================");
//        //boolean containsAll(Collection c)如果此集合包含指定 集合中的所有元素,则返回true。
//        System.out.println(c1.containsAll(c2));
        System.out.println("===============================");
        //boolean retainAll(Collection c)
        //仅保留此集合中包含在指定集合中的元素(可选操作)。
        // 换句话说,从该集合中删除所有不包含在指定集合中的元素。
​
        //假设有两个集合 c1,c2
        //c1对c2做交集,最终的结果保存在c1中,c2不变
        //并且c1中删除与c2不是共同的其他元素
//        System.out.println(c1.retainAll(c2));
//        System.out.println("c1: "+c1);
//        System.out.println("c2: "+c2);
    }
}
上一篇:uniapp学习笔记之数据库常用操作


下一篇:Collection和Map的区别