Solución:
Llama startsWith
en el mal String
s (por ejemplo, prueba si "1_".startsWith("1_John")
en lugar de "1_John".startsWith("1_")
).
Deberías transmitir nameList
y use numberList
para el filtrado:
List<String> filteredList =
nameList.stream()
.filter(str -> numberList.stream().anyMatch(str::startsWith))
.collect(Collectors.toList());
PD Stream.of(numberList.toArray(new String[0]))
es redundante. Usar numberList.stream()
en lugar de.
Como alternativa a la solución de Eran, también puede utilizar una combinación de removeIf
y noneMatch
como sigue:
List<String> filteredList = new ArrayList<>(nameList);
filteredList.removeIf(str -> numberList.stream().noneMatch(str::startsWith));
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)