Как проверить, для всех ли элементов листа выполняется одно из условий
Получаю следующее значение:
List <String> list = [kz, kz, kz, kg, ru, ru, ua, ru, ru, ru, ru, ru, ru, ru, kg]
Необходимо проверить принимает ли каждый элемент одно из значений: ru, kg, kz, cz. Если попадается другое (не из этого списка), то выводить False (например).
Хотела воспользоваться стримом, но не могу вставить больше одного условия, например ru:
var correctCodes = list.stream().allMatch((s) -> s.contains("ru"));
Не могу придумать, как реализовать нужную проверку.
Ответы (2 шт):
Автор решения: Эникейщик
→ Ссылка
Первый вариант
если (элемент != ру и элемент != кз итд):
{принт фалсе}
Второй вариант:
switch element
case ru:
case kz:
Итд:
Что-то делать
break
default:
print false
break
Автор решения: Кирилл Малышев
→ Ссылка
List<String> list = List.of("kz", "kz", "kz", "kg", "ru", "ru", "ua",
"ru", "ru", "ru", "ru", "ru", "ru", "ru", "kg");
Set<String> checkWords = Set.of("ru", "kg", "kz", "cz");
var correctCodes = list.stream().allMatch(s -> checkWords.contains(s));
System.out.println(correctCodes);