Fácil de usar Java Lambda filtro de foreach

Fácil de usar Java Lambda filtro de foreach


 

Lista de Java en la colección por el momento las condiciones de la consulta, a menudo piensa en el uso de bucle.

Desde la introducción de Java 8 Lambda, simplifica el uso del bucle.

Lambda ilustra un simple uso de la foreach y el filtro.

 

1, clase personalizada héroe

/ ** 
 * Creado por milagro Luna en 03/08/2020 
 * / 
público  de clase héroe {
     privado String nombre;
    privada país de cuerda; 

    pública héroe (nombre String, String país) {
         este .name = nombre;
        este .country = país; 
    } 

    Pública getName String () {
         retorno nombre; 
    } 

    Pública  vacío setName (String nombre) {
         este .name = nombre; 
    } 

    Pública getCountry String () {
         retorno  país;
    }

     Pública  vacío setCountry (únicamente String) {
         este .country = país; 
    } 

    @ Override 
    pública Cadena toString () {
         retorno "héroe {" + 
                "name = '" + nombre + '\'' + 
                "país = '" + país + '\'' + 
                '}' ; 
    } 
}

 

2, bucle foreach

importación java.util.ArrayList;
importación java.util.List; 

/ ** 
 * Creado por milagro Luna en 03/08/2020 
 * / 
público  de clase LambdaForeachDemo {
     públicas  estáticas  void main (String [] args) { 
        Lista <Hero> heroList = nuevo ArrayList <> (); 
        Lista <Hero> resultList = nuevo ArrayList <> (); 

        Liubei héroe = nuevo Hero ( "刘备", "蜀国" ); 
        Guanyu héroe = nuevo Hero ( "关羽", "蜀国" );nuevo nuevo Hero ( "Zhang", "Shu" ); 
        héroe Sunce = nuevo nuevo Hero ( "Sun Ce", "Wu" ); 

        heroList.add (Liubei); 
        heroList.add (Guanyu); 
        heroList.add (Zhangfei) ; 
        heroList.add (Sunce); 

        // consulta no es un héroe Wu 
        heroList.forEach (héroe -> {
             SI ( "Wu"! .equals (hero.getCountry ())) { 
                resultList.add (héroe); 
            } 
        }); 

        // imprimir los resultados establecidos 
        resultList.forEach (héroe -> System.out.println (hero.toString ())); 
    } 
}

 

3, el filtro de filtro

importación java.util.ArrayList;
importación java.util.List;
importación java.util.stream.Collectors; 

/ ** 
 * Creado por milagro Luna en 03/08/2020 
 * / 
público  de clase LambdaFilterDemo {
     públicas  estáticas  void main (String [] args) { 
        Lista <Hero> heroList = nuevo ArrayList <> (); 
        Lista <Hero> resultList = nuevo ArrayList <> (); 

        Liubei héroe = nuevo Hero ( "刘备", "蜀国" ); 
        Héroe Guanyu = nuevo héroe ( "关羽", "蜀国"
        Zhangfei héroe = nuevo nuevo Hero ( "Zhang", "Shu" ); 
        héroe Sunce = nuevo nuevo Hero ( "Sun Ce", "Wu" ); 

        heroList.add (Liubei); 
        heroList.add (Guanyu); 
        heroList.add (Zhangfei); 
        heroList.add (Sunce); 

        // consulta no es un héroe Wu 
        resultList = heroList.stream () 
                (héroe .Filter ! -> "Wu" .equals (hero.getCountry ())) 
                .collect ( Collectors.toList ()); 

        // imprimir los resultados establece 
        resultList.forEach (héroe -> System.out.println (hero.toString ())); 
    } 
}

 

4, los resultados son los siguientes:

Héroe {name = 'Bei', país = 'Shu' } 
héroe {nombre = 'Guan', país = 'Shu' } 
héroe {nombre = 'Zhang', país = 'Shu'}

 

Supongo que te gusta

Origin www.cnblogs.com/miracle-luna/p/12445627.html
Recomendado
Clasificación