10

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

 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 
4

5 に答える 5

15

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

マップはエントリのコレクションと見なすことができMapますが、それを直接サポートしていませんentrySet。メソッドを使用してエントリのセットを取得できます。

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

于 2012-08-24T07:30:04.143 に答える
10

Mapsで作業しkey/value pairs、 。でother collections作業しjust valuesます。マップはキーを値にマップします。これにより、コンテンツをキーのセット、値のコレクション、およびキーと値のマッピングのセットとして表示できます。

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

于 2012-08-24T07:35:07.080 に答える
4

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

これは、階層の別のブランチです。必要に応じて、コレクションインターフェイスと同じ階層レベルで表示できます。

コレクションインターフェイスはリストのようなコレクション(のルート)によって実装され、マップはKEY-VALUEのようなコレクション(のルート)によって実装されます。

于 2012-08-24T07:33:16.047 に答える
3

Mapは、キー、値、およびキーと値のペアの3つのコレクションであるためです。

どちらをデフォルトにして反復するかを決めるのは簡単ではないため、インターフェイスを3回実装します(keySet()、、values()およびentrySet()

于 2012-08-24T07:30:43.303 に答える
1

インターフェイスはインターフェイスのMap拡張ではありませんCollection。ただし、これはデータのコレクションを保持するための構造です。

于 2012-08-24T07:30:29.510 に答える