Значения должны относиться к типу коллекции из Collections Framework - PullRequest
0 голосов
/ 16 мая 2018

Может кто-нибудь сказать мне, что это значит.

Пример сценария.

Карта со строками, которые являются ключами и представляют имена людей.Значения - это наборы строк, и каждая строка представляет автомобиль, которым они владеют.

Что значит сказать, что значения должны быть типа коллекции.Я не понимаю, они не тип коллекции, когда в коллекции.Например, String не тип коллекции, когда в коллекции Set.Может ли кто-нибудь объяснить это предложение, пожалуйста.

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Java Collections - это общая структура классов поверх структур данных, таких как списки, множества, карты и многое другое.В коллекциях определено большое количество методов, которые могут работать с рядом реальных структур данных.Хорошо разработанный механизм преобразования и переопределения в Java обеспечивает преобразование соответствующих структур данных до вызова общего метода коллекций.

Существуют также специальные типы коллекций, такие как неизменяемые карты и неизменяемые списки.

В целом платформа Collections позволяет разработчикам Java применять большой набор известных операторов (методов) ко многим структурированным типам данных.Вы можете прочитать книгу об OCP, где одна глава полностью посвящена структуре коллекций.

0 голосов
/ 16 мая 2018

Что значит сказать, что значения должны иметь тип коллекции

Возможно, вы имеете в виду метод values() интерфейса Map.

Независимо от того, каким может быть тип отдельного значения в Map (Integer, String, Set<String> и т. Д.), При вызове метода values(), который возвращает все сохраненные значенияв Map вы получите Collection из этих значений.

Например, в случае вашего:

Map<String,Set<String>> map;

вызов values() даст вам:

Collection<Set<String>> values = map.values();

Причины, по которым здесь возвращается общее Collection:

  1. Значения не обязательно должны быть уникальными (могут быть дубликаты), поэтому мы не можем вернутьSet значений.
  2. Значения не должны быть упорядочены (это записи в Map не должны быть упорядочены), поэтому возвращение List значений не требуетимеет смысл.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...