Коллекция Java не имеет Map как часть Collection framework [дубликат]
этот вопрос уже есть ответ здесь:
- почему Java Map не расширяет коллекцию? 10 ответов
Если ваш взгляд на основа коллекции вы увидите следующее, Но карта не находится в списке интерфейсов. Когда мы говорим о map, мы говорим, что это часть Collection framework, поэтому, если Map является частью Collection framework, то почему его нет в списке интерфейсов.
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
5 ответов
Maps
работы с key/value pairs
, а other collections
работы с just values
. Карта отображает ключи на значения. Он позволяет рассматривать его содержимое как набор ключей, набор значений и набор сопоставлений ключ-значение.
, проверьте эту ссылку. Ответ оракула. https://docs.oracle.com/javase/tutorial/collections/
"рамки коллекции" и Collection
интерфейс-это не одно и то же.
А вы can рассматривайте карту как набор записей,Map
не поддерживает это напрямую - вы можете получить набор записей с помощью entrySet
метод.
но принципиально вам нужно различать "рамки коллекции" и Collection
интерфейс.
Это часть структуры коллекции, но она не реализует java.util.Collection
интерфейс.
это другая ветвь иерархии. Если вы хотите, вы можете просмотреть его на том же уровне иерархии, что и интерфейс коллекции.
интерфейс коллекции реализован (является корнем) List-like коллекций, в то время как Map реализуется(является корнем) key-VALUE-like коллекций.
потому что карта-это три коллекции: ключи, значения и пары ключ-значение.
нелегко решить, какой из них должен быть по умолчанию для итерации, поэтому он реализует интерфейс три раза (keySet()
, values()
и entrySet()
)
на Map
интерфейс не является продолжением Collection
интерфейс. Однако это структура для хранения коллекций данных.