zoukankan      html  css  js  c++  java
  • 【JAVA】【集合4】Java中的Collection接口

    【集合】Collection

    一、Collection定义

    Collection是一个接口,其在java.util.Collection中定义。

    public interface Collection<E> extends Iterable<E>
    

    二、Collection定义的接口

    1. 增加元素

    (1)指定参数增加1个元素

    boolean add(E e);
    

    (2)参数为1个集合,添加集合参数内包含的所有内容

    boolean addAll(Collection<? extends E> c);
    

    2. 删除元素

    (1)删除指定的单个元素

    boolean remove(Object o);
    

    (2)参数为1个集合,删除集合参数内包含的所有元素

    boolean removeAll(Collection<?> c);
    

    (3)与removeAll方法相反。参数为1个集合,删除不存在于集合参数内的其他元素

    boolean retainAll(Collection<?> c);
    

    (4)根据过滤器删除

    boolean removeIf(Predicate<? super E> filter)
    

    (5)清空集合

    void clear();
    

    3. 查找元素

    (1)参数1个元素,判断指定元素是否在集合中是否存在。返回boolean类型。

    boolean contains(Object o);
    

    (2)参数1个集合,判断 参数集合 的内容 在集合中是否存在。返回boolean类型。

    boolean containsAll(Collection<?> c);
    

    4. 遍历集合

    (1)获取集合的迭代器

    Iterator<E> iterator();
    

    5. 集合大小

    (1)获取集合大小。如:集合clear()后,其大小是0

    int size();
    

    (2)判断集合是否为空,返回boolean类型。

    boolean isEmpty();
    

    7. 把集合转换为数组

    (1)把集合转化成一个数组副本,返回

    注(具体在后续各结合类实现中):

    • 如果迭代器能保证特定的顺序,数组就有相同的顺序。
    • 得到的数组是个副本,而不是内部数据结构的引用。
    Object[] toArray();
    

    (2)把集合中的元素存入参数指定的数组,返回

    <T> T[] toArray(T[] a);
    

    【重要!!!!】: T[] toArray(T[] a)中T[] a参数说明:

    • T[] a参数采用new 长度为0方式,则此方法效果同toArray(),会新分配数组存储空间
    String[] y = x.toArray(new String[0]);
    
    • T[] a参数如果集合的元素足够大,则要存储到参数指定的数组;否则,将为此分配一个相同类型的新数组

    如:如下将list转换为数组时最佳SIZE (A)

    ​ List list = new ArrayList<>(DEFAULT_CAPACITY);

    ​ list.add("1");

    ​ list.add("2");

    ​ String[] array = list.toArray(new String[SIZE]);

    ​ A、0 B、1 C、2 D、3


  • 相关阅读:
    详述Xgboost原理
    Uncaught Error: Script error for "popper.js", needed by: bootstrap
    JS 正则表达式从地址中提取省市县
    OneThink实现多图片批量上传功能
    移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传
    PHPCMS V9添加模板自定义全局变量
    CentOS 7:如何安装防火墙?
    HTML5的fieldset标签
    PHP使用CURL详解
    asp.net+swfupload 多图片批量上传(附源码下载)
  • 原文地址:https://www.cnblogs.com/yickel/p/14793554.html
Copyright © 2011-2022 走看看