zoukankan      html  css  js  c++  java
  • java容器-Collection

    1.介绍

       collection<E>是java中容器的最主要的接口,该接口继承于Iterable<E>,使得java中所有实现Collection<E>的容器类,都能有统一的访问接口。Collection仅仅定义一组保有元素的最基本的操作集合。不包含获取元素和随机访问元素的操作集合,也不包含替换、插入等接口,就连remove、removeAll、retainAll方法都是可选的方法。但是作为持有元素的容器,这体现了接口最小职责的原则,使得大多数具体类型的容器能实现特定操作集合的同时,又能保证容器的通用性。

    2.子接口

       主要有List,Set,Queue,Deque

    3.主要方法

    1. add(E newElement) : boolean,在容器末尾添加元素
    2. addAll(Colletion<? extends E> collection) : boolean, 将指定容器中的元素添加至该容器的末尾
    3. size() : int , 返回该容器里元素的个数
    4. isEmpty() : boolean, 判断容器是否为空
    5. iterator() : Iterator<E>, 继承子Iterable<E>,返回该容器上的迭代器,每次调用都从首元素开始
    6. clear() : void, 清空该容器
    7. contains(Object o) : boolean,判断该容器中是否包含指定元素,如果o=null,则删除空引用的元素;如果不为空,则调用o.equals()方法
    8. containAll(Collection<?> collection) : boolean,判断该容器中是否包含指定集合中的所有元素
    9. toArray() : Object[],返回一个新的数组,该数组包含原容器的所有元素,并保证原来的顺序,对返回的数组的任何修改不影响原容器
    10. toArray(T[] a) : T[],返回指定类型的数组,如果指定的类型不是该容器元素类型的父类型,则抛出ArrayStoreException
    11. equals(Object  o) : boolean,判断该容器对象是否等于指定的对象o
    12. hashCode() : int,返回该容器的哈希值
    13. retainAll(Collection<?> collection) : boolean,若该容器中的元素同时存在于指定的容器collection中,则保留该元素,否则就删除该元素;此方法为可选方法,在某些不允许修改的容器中,该方法抛出UnsuportedOperationException,如Arrays.asList(T[] array)返回的ArrayList类型
    14. remove(Object o) : boolean, 删除该容器中指定元素,此方法为可选方法,在某些不允许修改的容器中,该方法抛出UnsuportedOperationException;此方法为可选方法,在某些不允许修改的容器中,该方法抛出UnsuportedOperationException,如Arrays.asList(T[] array)返回的ArrayList类型
    15. removeAll(Collection<?> collection) : boolean,删除该容器中所有包含于指定容器中的元素;此方法为可选方法,在某些不允许修改的容器中,该方法抛出UnsuportedOperationException,如Arrays.asList(T[] array)返回的ArrayList类型

    4.defaut方法(自jdk1.8起)

    1. removeIf(Predicate<? super E filter), 通过指定的过滤器来删除元素
    2. spliterator() : Spliterator<E> ,主要支持java8中的流式操作,如排序,过滤等,提供类似jquery的语法
    3. stream() : stream,获取该集合的非并行的流
    4. parallelStream() : stream,获取该集合的并行的流

    5.总结

       Collection是除Map的最广泛容器类的父接口,它保留了一组持有元素最通用的操作集合。所有实现Iterable<E>的类型都能用于foreach循环,因此所有的Collection都能用于foreach循环,实现方便的顺序访问,而该顺序由iterator()返回的Iterator<E>决定。


  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/zhedan/p/7627212.html
Copyright © 2011-2022 走看看