У меня есть 2 списка, один из которых содержит список чисел, а другой список имен. Я поставил перед именами номер из первого списка с последующим подчеркиванием. Я хочу отфильтровать второй список на основе всех чисел, найденных в первом списке.
Что я пробовал.
List<String> numberList = new ArrayList<>();
numberList.add("1_");
numberList.add("9_");
List<String> nameList = new ArrayList<>();
nameList.add("1_John");
nameList.add("2_Peter");
nameList.add("9_Susan");
List<String> filteredList = Stream.of(numberList.toArray(new String[0]))
.filter(str -> nameList.stream().anyMatch(str::startsWith))
.collect(Collectors.toList());
Приведенный выше код работает без ошибок, но FilterList пуст. Очевидно, я делаю что-то не так.
Фильтрованный список должен содержать только:
1_John
9_Susan