2012-08-24 4 views
5

collection frameworkを見ると次のように表示されますが、マップはインターフェイスの一覧に表示されません。マップについては、コレクションフレームワークの一部であると言いますが、Mapがコレクションフレームワークの一部である場合、なぜそれがインターフェイスリストにないのでしょうか。Javaコレクションにはコレクションフレームワークの一部としてのマップがありません

java.util 
Interface Collection 

All Known Subinterfaces: 
    BeanContext, BeanContextServices, List, Set, SortedSet 

All Known Implementing Classes: 
    AbstractCollection, AbstractList, AbstractSet, ArrayList, BeanContextServicesSupport, BeanContextSupport, HashSet, LinkedHashSet, LinkedList, TreeSet, Vector 
+1

類似の投稿:http://stackoverflow.com/questions/5700135/why-does-map-not-extend-collection-interface –

答えて

5

Mapskey/value pairsで、other collectionsjust valuesで動作します。マップはキーを値にマップします。そのコンテンツは、キーのセット、値のコレクション、および一連のキーと値のマッピングとして表示されます。

次のリンクを確認してください。オラクルによる答え。 https://docs.oracle.com/javase/tutorial/collections/

8

「コレクションフレームワーク」とCollectionインターフェイスは同じではありません。

あなたMapが直接これをサポートしていない、エントリのコレクションとしてマップを考えることができますが - あなたはentrySet方法でエントリのセットを取得することができます。

基本的には、「コレクションフレームワーク」とCollectionインターフェイスを区別する必要があります。

0

Mapインターフェイスは、Collectionインターフェイスの拡張ではありません。ただし、データの収集を維持するための構造です。

2

マップは3つのコレクションです:キー、値、およびキーと値のペア。

これは、1つの反復処理するためのデフォルトであるべきかを決定するのは簡単ではありませんので、インタフェースを実装する3回(keySet()values()entrySet()

2

それは、コレクションフレームワークの一部だが、それが実装されていません。 java.util.Collectionインターフェイス。

これは階層の別の分岐です。必要に応じて、Collectionインタフェースと同じレベルの階層で表示することができます。

CollectionインターフェイスはList-like Collectionsによって実装され、MapはKEY-VALUEのようなコレクションによって実装されます。

関連する問題