2014-08-31 3 views
0

Я читал Java Collection Framework на своем official website.
Существует один пункт - «Карта не настоящая коллекция»
Что это значит? Почему карта не входит в коллекцию?
Тогда я узнал, что карта не распространяется на коллекцию. Какова цель этого? Было бы лучше, если бы Карта была частью коллекции, не так ли?
см ниже иерархии для рамок Collection: -
enter image description hereПочему карта не настоящая коллекция?

+0

Изобразительное. Дубликаты являются дубликатами друг друга. – Marco13

ответ

2

Map не может быть Collection, потому что их семантика расходится. Самое близкое к «собираемости» для Map - это когда оно рассматривается как Set<Map.Entry<K,V>>. Вы можете получить это как вид коллекции карты по телефону map.entrySet(); однако это вызовет больше проблем, чем пользы, если сам Map реализовал полный API Collection. Например, метод remove(Object) определен как в Collection, так и в Map, но с несовместимой семантикой. Названия таких методов должны быть деформированы, что повлияет на все Collection s, чтобы соответствовать неудобному случаю Map.

Смежные вопросы