스트림 연구 노트

1. 스트림 다섯 가지의 인스턴스를 만듭니다

  @Test
     공개  공극 TEST1 () {
         // 제 방법은 스트림 오브젝트 생성하는 
        일람 <문자열> Lists.newArrayList 목록 = ( "A", "B", "C" ) 
        스트림 <문자열> 스트림 1 = list.stream을 (); 

        // 실시 예 2의 스트림 오브젝트 생성 
        문자열 [] ARR = { "A", "B" } 
        스트림 <문자열> STREAM2 = Arrays.stream (ARR)를; 

        // 스트림 오브젝트 제 만들기 실시 

        스트림 <문자열> 스트림 3 Stream.of = ( "A", "B" ); 

        //는 제 4 실시 스트림 오브젝트 생성
         // 단지 선두 5 대하여 반복 무기한을 수행하므로 제한 
        스트림 <정수>stream4로 Stream.iterate = (0, X - "X * X)으로 제한 할 (5 );

        // Stream 개체 5 실시 예를 만들기
         // 무제한 수행 생성, 그래서 오직 최고의 5 제한 
        스트림 <더블> Stream5 = Stream.generate (수학 :: 랜덤)으로 제한 할을 (5. ); 
    }

 

2. 스트림 일반적으로 API 광고

@Test
     공개  공극 TEST2 () { 
        목록 <문자열> = Lists.newArrayList 목록 ( "ABC", "BCD", "EFG", "A12", "BCD" );
        // 1过滤 
        . list.stream () 필터링 (X -> x.contains ( "B" ).) 대해 forEach (System.out에 ::에 println); 

        // 2取前N 
        list.stream () 한계 (1. ) .forEach (System.out에 ::에 println); 

        // 3跳过前N个 
        list.stream () (2 이동. ) .forEach (System.out에 ::에 println)를; 

        // 4. 별개의去의重에 
        .. list.stream () 별개의 () 대해 forEach (System.out에 ::에 println); 

        // 5.지도映射 
        . list.stream ()지도 (X -> x.toUpperCase ()).

        에서 System.out.println ( "-----------------------" );
         // 6. flatMap지도 (스칼라지도, flatMap 동일) , 스트림 반환 
        - flatMap (>. X) list.stream을 ( 대해 forEach합니다 (System.out에 :: println 메소드가); Stream.of (x.toUpperCase ())) 


        // --->) (7 정렬 정렬 자연적인 순서 
        에서 <정수> = Lists.newArrayList에 List1 (12 (34)는, 56이며, ,. 1, 0, -1, 2 ), 
        .. list1.stream () 정렬 () 대해 forEach합니다 (System.out에 :: println 메소드) 

        // 8. 분류 분류 (비교기 COM) -> 정렬 규칙 지정 
        list1.stream () 정렬합니다. ((E1, E2) -> - . Integer.compare (E1, E2)) 대해 forEach합니다 (System.out에 :: println 메소드) ; 

        // 9 경기를 조회
         // 목록의 모든 요소 "는"포함 
        부울에 println (any.get ()); //

        

        

        

        

        최대 위젯 
        선택에서 <정수> = 최대 list1.stream () 최대 (은 compareTo : 정수);
         // 위의 줄이 코드 속기
 //         선택에서 <정수> = MAX1 list1.stream () 최대 (. (E1, E2) -> Integer.compare (E1, E2)) 
        에서 System.out.println (max.get ()); 

        // 10 환원 
        선택 <정수> = list1.stream을 (저감 (감소). (X, Y) -> X + Y)]   // List1이 합산 요소 
        에서 System.out.println (reduce.get ()); 

        정수 SUM = list1.stream ()이 감소 (0 정수 :: SUM). ;   // List1이 합산 요소 
        에서 System.out.println (SUM) 

        정수 SUM2 = list1.stream ()을 축소 (10 정수 :: SUM);   //10 + 합산 요소리스트 1 
        에서 System.out.println (SUM2); 

        // 11 콜렉트 -> 스트림이리스트의 세트로 설정한다 
        에서 <정수> = 수집 list1.stream ( )지도 (X - "X * 2. ) .collect (Collectors.toList ()); 
        collect.forEach합니다 (System.out에 :: println 메소드) 

    }

 

추천

출처www.cnblogs.com/z-qinfeng/p/11762114.html