http://docs.oracle.com/javase/tutorial/collections/interfaces/index.htmlによると、コレクションとマップと呼ばれる 2 つの最上位インターフェイスがあります。
これら2つを分離する正確な理由は何ですか?
すべてのキーと値のデータ構造がマップ インターフェイスを実装し、他のすべてがコレクション インターフェイスを実装するということですか?
http://docs.oracle.com/javase/tutorial/collections/interfaces/index.htmlによると、コレクションとマップと呼ばれる 2 つの最上位インターフェイスがあります。
これら2つを分離する正確な理由は何ですか?
すべてのキーと値のデータ構造がマップ インターフェイスを実装し、他のすべてがコレクション インターフェイスを実装するということですか?
それは正解です!すべてのList
クラスを確認してから、Map
関連するすべてのクラスを確認します。
そして、この素晴らしい議論があります、ob this question
視覚的に
これはコレクションです。これにより、本がそこにあり、0、1、2、3 のように並んでいることがわかります。
しかし、Mapでは、本はメモリ内で順序付けされていませんが、コンピューターの便宜のために、図書館のように本を見つけるためのキーがあります。
AMap
は、値にマッピングされる一意のキーを持つ構造です。ACollection
は、特定のキーを持たない複数の値の単なるグループです。
List
aと aを同じように比較しMap
て、違いを確認できます。This SO questionは、これらの違いを扱います。