Это возможно.Скажем, у вас есть ключ myKey
и вы хотите узнать, содержится ли в коллекции за этим ключом строка mySearchString
.
multiMap.get("myKey").contains("mySearchString");
Она вернет true
, если mySearchString
равно (с учетом регистра) любого объекта в коллекции.
Вы должны быть осторожны, хотя метод contains
в коллекции использует чувствительный к регистру метод equals
и будет работать только тогда, когда они равны на 100%.Поэтому, когда ваша коллекция содержит что-то вроде "MYSEARCHstring"
, она не будет работать, а также "The sentence that contains mySearchString"
.
РЕДАКТИРОВАТЬ:
(Спасибо, Николас и Дичи)
Вот более полный пример, как этого добиться.
String mySearchString = "mySearchString";
Map<String, Collection<String>> multiMap = new HashMap<>();
for (String key : multiMap.keySet()) {
if (multiMap.get(key) != null && multiMap.get(key).contains(mySearchString)) {
return key;
}
}
Если вы не знаете ключ, вам нужно перебрать карту, проверить, содержит ли одна из коллекций искомую строку, а затем, когда вы нашли коллекцию (и ее ключ), вернутьключ.