자바 람다 필터의 foreach를 사용하는 간단한

자바 람다 필터의 foreach를 사용하는 간단한


 

시간 쿼리 조건에 의해 컬렉션에서 자바 목록, 자주 for 루프를 사용하여 생각합니다.

자바 8 람다의 도입 이후, 루프의 사용을 단순화합니다.

람다는 필터의 foreach와의 단순한 사용을 나타낸다.

 

1, 사용자 정의 클래스의 영웅

/ ** 
 * 2020년 3월 8일에 기적 루나 만든 
 * / 
공용  클래스 영웅 {
     개인 문자열 이름;
    개인 문자열 국가; 

    공공 영웅 (문자열 이름, 문자열 국가) {
          .name을 = 이름;
         .country = 국가; 
    } 

    공공 문자열 getName () {
         반환 이름; 
    } 

    공공  무효 에서는 setName (문자열 이름) {
          .name을 = 이름; 
    } 

    공공 문자열에는 getCountry () {
         반환  국가;
    }

     공공  무효 setCountry (문자열 국가) {
          .country = 국가; 
    } 

    @Override 
    공공 문자열 toString () {
         반환 "영웅 {"+ 
                "이름 = '"+ 이름 +'\ ''+ 
                ', 국가 =' "+ 국가 + '\' '+ 
                '} ' ; 
    } 
}

 

2 Foreach 루프

수입 인 java.util.ArrayList;
수입 은 java.util.List; 

/ ** 
 * 2020년 3월 8일 기적 루나 만든 
 * / 
공용  클래스 LambdaForeachDemo {
     공공  정적  무효 메인 (문자열 []에 args) { 
        목록 <영웅> heroList = 새로운 ArrayList를 <> (); 
        목록은 <영웅> resultList는 = 새로운 ArrayList를을 <> (); 

        영웅 liubei는 = 새로운 영웅 ( "刘备", "蜀国" ); 
        영웅 GUANYU는 = 새로운 영웅 ( "关羽", "蜀国" );새로운 새로운 영웅 ( "장", "슈" ) 
        영웅 순세 = 새로운 새로운 영웅 ( "손책", "우" ) 

        heroList.add (liubei) 
        heroList.add (GUANYU) 
        heroList.add (Zhangfei) ; 
        heroList.add (순세); 

        // 쿼리하지 영웅 우 
        heroList.forEach (영웅 -> {
             IF ( "우!" .equals (hero.getCountry ())) { 
                resultList.add (영웅); 
            } 
        }); 

        // 결과 집합 인쇄 
        resultList.forEach (영웅 -> 에서 System.out.println (hero.toString ())); 
    } 
}

 

3 필터 필터

수입 인 java.util.ArrayList;
수입 은 java.util.List;
수입 java.util.stream.Collectors; 

/ ** 
 * 2020년 3월 8일 기적 루나 만든 
 * / 
공용  클래스 LambdaFilterDemo {
     공공  정적  무효 메인 (문자열 []에 args) { 
        목록 <영웅> heroList = 새로운 ArrayList를 <> (); 
        목록은 <영웅> resultList는 = 새로운 ArrayList를을 <> (); 

        영웅 liubei는 = 새로운 영웅 ( "刘备", "蜀国" ); 
        영웅 GUANYU = 새로운 영웅 ( "关羽", "蜀国"
        Zhangfei 영웅 = 새로운 새로운 영웅 ( "장", "슈" ) 
        영웅 순세 = 새로운 새로운 영웅 ( "손책", "우" ) 

        heroList.add (liubei) 
        heroList.add (GUANYU) 
        heroList.add (Zhangfei) 
        heroList.add (순세); 

        // 쿼리하지 영웅 우 
        resultList = heroList.stream () 
                (영웅 .filter ! -> "우" .equals (hero.getCountry ())) 
                .collect ( Collectors.toList ()); 

        // 결과를 인쇄 설정 
        resultList.forEach (영웅 -> 에서 System.out.println (hero.toString ())); 
    } 
}

 

다음도 4를 참조하면, 결과는 :

영웅 {이름 = '베이', 국가 = '슈' } 
영웅 {이름 = '관우', 국가 = '슈' } 
영웅 {이름 = '장'국가 = '슈'}

 

추천

출처www.cnblogs.com/miracle-luna/p/12445627.html