Java Google guava multimap: получить все записи списка - PullRequest
1 голос
/ 10 марта 2020

Я использую мультикарту, подобную этой

Multimap<String, MyObject> tasksMap = ArrayListMultimap.create();

Где может быть несколько элементов для одного и того же ключа, получить значение списка для каждого ключа на карте?

Ответы [ 2 ]

1 голос
/ 10 марта 2020

.asMap() позволяет получить карту, а затем вы можете перебрать ее .entrySet().

Что-то вроде

for (Entry<String, Collection<MyObject>> e : tasksMap.asMap().entrySet()) {
  String key = e.getKey();
  Collection<MyObject> values = e.getValue();
  ...
}
0 голосов
/ 10 марта 2020

Просто используйте метод get , чтобы получить все значения для ключа

List<MyObject> values = tasksMap.get(key);

или используйте values ​​, чтобы получить все значения для каждого ключа в карте

 Collection<List<MyObject>> values = tasksMap.values();

или записей для получения всех записей

Collection<Map.Entry<String, List<MyObject>>> entries =  tasksMap.entries()
...