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>决定。


  • 相关阅读:
    配置ftp服务器只能上传不能进行其他操作
    教你用CMD命令查询域名的DNS解析记录:A,NS,MX,CNAME,TXT
    js 多选选择删除数据
    类加载是为了执行静态方法
    数据库 基本命令
    在where子句中经常使用的运算符
    数据库编码问题
    JSP2.0自定义标签
    实现一个基本防盗链标签
    自定义标签
  • 原文地址:https://www.cnblogs.com/zhedan/p/7627212.html
Copyright © 2011-2022 走看看