Saltar al contenido

Cómo filtrar una lista usando la secuencia de Java 8 y comenzar con una matriz de valores

Solución:

Llama startsWith en el mal Strings (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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *