List<String> actualList = Arrays.asList ("mother has chocolate", "father has dog");
List<String> expectedList = Arrays.asList ("mother", "father", "son", "daughter");
Есть ли способ проверить, содержит ли expectedList
какие-либо подстроки строк в actualList
?
Я нашел вложенное решение для каждого:
public static boolean hasAny(List<String> actualList, List<String> expectedList) {
for (String expected: expectedList)
for (String actual: actualList)
if (actual.contains(expected))
return true;
return false;
}
Я пытался найти лямбда-решение, но не смог.Все методы, которые я нашел, проверяют на String#equals
, а не на String#contains
.
Было бы неплохо иметь что-то вроде:
CollectionsUtils.containsAny(actualList, exptectedList);
Но он сравнивает строки, используя String#equals
, а неString#contains
.
РЕДАКТИРОВАТЬ:
На основе вопросов: я хочу получить TRUE, если ВСЕ подстроки из actualList являются частью Ожидаемый список.И решение от Кевина ниже работает для меня.