zoukankan      html  css  js  c++  java
  • Collection

    首先来看下Collection接口的层次结构,参考JDK1.8

                           

    现在来分析一下Collection接口的JDK源码:

    public interface Collection<E> extends Iterable<E> {

        //返回集合中元素的数量,如果这个集合中的元素数量大于Integer.MAX_VALUE,则返回Integer.MAX_VALUE。

        int size();

        //如果集合为空集合(不包含任何元素),则返回true;若至少包含一个元素,则返回false。

        boolean isEmpty();

        //如何集合中包含指定的元素,则返回true;否则返回false。

        //更确切的说,当且仅当集合中至少包含一个满足(o == null? e == null : o.equals(e))的元素e时返回true。

        //可以重写E的equals方法,来指定在何种情况下两个E对象是equals相等的。

        boolean contains(Object o);

        //返回在此集合的元素上进行迭代的迭代器。关于元素返回的顺序没有任何保证(除非此集合是某个能提供保证顺序的类实例)。

        Iterator<E> iterator();

        //按适当顺序返回一个包含此集合中所有元素的数组,如何此集合对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。

        //返回的数组将是安全的?因为此集合并不维护对返回数组的任何引用,因此调用者可以随意修改返回的数组。

        Object[] toArray();

        //返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。如果指定的数组能容纳该 collection,则返回包含此

       //collection 元素的数组。否则,将分配一个具有指定数组的运行时类型和此 collection 大小的新数组。如果指定的数组能容纳 collection,并有剩余空间(即数组的元素比 collection 的元素多),那么会将数组中紧接 collection 尾部的元素设置为null。(只有在调用者知道此 collection 没有包含任何null元素时才能用此方法确定 collection 的长度。)

    如果此 collection 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。

    像toArray()方法一样,此方法充当基于数组的 API 与基于 collection 的 API 之间的桥梁。更进一步说,此方法允许对输出数组的运行时类型进行精确控制,并且在某些情况下,可以用来节省分配开销。

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

        //

        boolean add(E e);

        //

        

    }

  • 相关阅读:
    【iPhone开发】说说Xcode4中xib绑定的原理转
    转 IOS下的图片
    免证书调试Iphone程序(转)
    牛B的Python模块(转)
    6 个手机开发方面很有用的应用
    留个脚印!
    Android初学者入门PDF版
    IOS下的MVC
    android2.2源码编译-Ubuntu10.04 (X86) + android2.2 + JDK1.6
    10 款 Windows 下最佳的免费 PHP 编辑器
  • 原文地址:https://www.cnblogs.com/hanw1991/p/7803637.html
Copyright © 2011-2022 走看看