Java 集合系列(三)Collection 接口

162 阅读1分钟

图片来自网络

public interface Collection<E> extends Iterable<E>

前面我们刚刚总结过 Iterable 接口拥有遍历集合的方法 for-each 和 iterator(),所以,所有 Collection 的实现集合都具有 JDK 1.8 以上的 lambda 遍历 和 传统的 iterator 遍历的能力。

Collection 是集合层次结构中的根接口。集合表示一组对象, 称为其元素。某些集合允许重复的元素, 而另一些则不会。一些有序和其他无序。JDK 不提供此接口的任何直接实现: 它提供了更具体的子 (如 Set 和 List ) 的实现。此接口通常用于在需要最大通用性的地方传递集合并对其进行操作。

// 常用方法集锦

    public static void main(String[] args) {
        Collection<Integer> integers = new ArrayList<>();
        System.out.println(integers.add(1));// true
        System.out.println(integers.contains(1));//true

        ArrayList<Integer> arrayList = new ArrayList<>();
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(5);
        arrayList.add(5);

        System.out.println(integers.remove(1));//true

        System.out.println(integers.addAll(arrayList));//true
        System.out.println(integers);// [2,3,4,5,5]
        System.out.println(integers.containsAll(arrayList));//true

        ArrayList<Integer> tempList = new ArrayList<>();
        tempList.add(2);
        tempList.add(3);

        System.out.println(integers.removeAll(tempList));//true
        System.out.println(integers.size());//3

        integers.addAll(tempList);
        System.out.println(integers.retainAll(tempList));// true
        System.out.println(integers);// [2,3]

        integers.removeIf(integer -> integer == 2);

        Object[] integersArray = integers.toArray();
        System.out.println(Arrays.toString(integersArray));//[3]

        System.out.println(integers.equals(tempList));//false
        System.out.println(integers.hashCode());//34

        integers.clear();
        System.out.println(integers);//[]
        System.out.println(integers.isEmpty());//true
    }