Получить набор записей с карты - PullRequest
3 голосов
/ 20 сентября 2011

Учитывая карту, такую ​​как:

Map<String, Integer> = new Hashmap<String, Integer>;

Как я могу получить Collection<Integer> (подойдет любая реализация Collection) набора записей? Выполнение .entrySet() не похоже на работу.

Ответы [ 2 ]

13 голосов
/ 20 сентября 2011

Если вы хотите получить только значения карты, вы можете использовать метод values().Страница Javadoc: здесь .

Это потому, что ваше требование - это Коллекция целых чисел, а значения карты имеют тип Integer.

entrySet возвращает коллекциюMap.Entry, каждый экземпляр которого содержит ключ и значение, составляющие запись, поэтому, если вы хотите указать ключ и значение, используйте entrySet() примерно так:

Set<Map.Entry<String, Integer>> entries = map.entrySet()

6 голосов
/ 20 сентября 2011

Это зависит от того, действительно ли вы хотите набор.Если вы хотите истинный набор, вы должны сделать:

Set mySet = new HashSet(map.values());

Обратите внимание, что значения дают коллекцию, которая может иметь повторяющиеся записи.

...