Вы должны использовать Map.keySet()
или Map.entrySet()
:
Map.keySet()
возвращает набор, содержащий все ключи вашей карты.Затем вы можете использовать Map.get()
, чтобы получить значение для данного ключа:
for (Token key: bigrams.keySet()) {
List<Token> list = bigrams.get(key);
System.out.println(key + ": " + list);
}
Map.entrySet()
возвращает набор всех пар на вашей карте, поэтому нет необходимостииспользуйте Map.get()
с этим:
for (Map.Entry<Token, List<Token>> entry : bigrams.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
Наконец, вы также можете использовать Java Stream API для этого.Вы также можете использовать его для фильтрации содержимого очень легко.Например, чтобы найти все токены, содержащие данный токен, в их списке значений:
bigrams.entrySet().stream()
.filter(e -> e.getValue().contains(tokenToFind))
.forEach(e -> System.out.println(e.getKey() + ": " + e.getValue()));