Javaコレクションフレームワーク(Javaのコレクションフレームワーク、JCF)は、通常、多くの一般的な開発クラス、例えばリスト、セット、ArrayListに、HashMapの、HashSetのようなが含まれているので、ここで開始するために開始する予定。
Collectionインタフェースは、最も一般的に使用される一覧とSetインタフェースはそれを継承し、コレクション階層のルートインタフェースです。下の彼らの継承構造(共通部分):
Collectionインタフェースのメソッドは以下の通りであります:
多くの方法がここにイタリア、簡単な分析を知っている名前を見ることができます:
1.サイズ():コレクションに含まれる要素の数。
2.のisEmpty()コレクションが空であるかどうか。
3.(オブジェクト)が含ま:オブジェクトがコレクションに含まれている場合、
4.イテレータ():(シーケンシャル)セットを横断するために、コレクションのイテレータを返します。
5.1オブジェクト[]のtoArray():アレイにセット「コピー」オブジェクトの要素。
5.2 T []のtoArray(T [] A):この方法は、アレイ(アレイのセットを切り替えるための2つの方法)の種類を指定してもよいことを除いて5.1効果を有します、;
6.追加(E):添加元素。
7.削除(オブジェクト):除去素子と
8.のcontainsAll(コレクション<?>):コレクションは別のセットが含まれているかどうかを判断します。
9.のaddAll(コレクション<Eを拡張?>):別のセットのすべての要素をコレクションに追加されます。
10のremoveAll(コレクション<?>):セットからすべての要素の指定されたセットを削除します。
11. removeIf(述語<スーパーE?>):機能動作述語JDK 1.8が導入されている、すなわち、パラメータがメソッドに渡され、要素のセットから指定された条件を除去します。
12.のretainAll(コレクション<?>):、セットでの保持要素を指定し、すなわち、それは指定されたセットに含まれるすべての要素を削除しません。
13. clear(): 清空集合;
14. equals(Object): 比较该集合与指定的对象是否相等;
15. hashCode(): 返回该集合的哈希值,注意重写 equals 方法时必须要重写该方法,以满足 Object.hashCode 方法的规定。
16. spliterator(): 可分割迭代器,用于并行遍历集合中的元素(iterator() 方法是顺序遍历);
17. stream() & parallelStream(): JDK 1.8 引入的流(Stream)式数据处理,分别表示串行流和并行流,该部分以后单独分析。
此外,还有一个继承自 Iterable 接口的 forEach(Consumer<? super T>) 方法,该方法也是 JDK 1.8 引入的,提供遍历集合元素的函数式操作。
PS: JDK 版本如下
阅读源码时,个人以为应该先读接口类,而非具体的实现类。原因有二:
1. 接口类本身就有协议或标准的性质,至于它的多个实现类,都是对该标准的详细实现。因此,如果熟悉了「标准」,再去研究其实现类会更容易理解。
2. 从代码量看,接口类代码较少。实现类的代码一般较多,如果初读源码就钻到实现类,可能容易被搞蒙。
Stay hungry, stay foolish.
PS: 本文首发自微信公众号。