Java8 스트림 스트리밍 생각의 새로운 기능 (C)

그냥 블로그를 쓰기 시작, 또한 지침의 많은 큰 형님 포럼을 기쁘게 곳이 없습니다, 감사합니다!

  • 대해 forEach () 메소드
cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods 패키지, 

인 java.util.ArrayList의 가져 오기, 
가져 오기를 java.util.List; 
가져 오기 java.util.stream.Stream; 

/ * 
 연습의 * foreach는 방법 
 * 무효 대해 forEach를 (소비자 <? 슈퍼 T> 스트림의 각 요소에 대한 연산 작업)을 수행한다. 
 * 파라미터 : 
 * 소비자가 기능 인터페이스는 함수 각 스트림 요소가 처리하는 것이다 
 인터페이스 함수이기 때문에, 람다 식을 사용하는 것이 가능하고, *는 소비자 인터페이스의 기능이다. 
 * 역할 : 
 * 통해 데이터. 
 * 참고 : 
 그것은 방법의 끝은 *, 당신은 그렇지 않으면 예외가 발생합니다, 스트림 흐름에서 다른 방법을 사용할 수 없습니다. 
 * / 
공용 클래스 Test01StreamForeach { 

    공공 정적 무효 메인 (문자열 []에 args) {
        목록 <문자열> 목록 = 새로운 새로운 ArrayList를 <> (); 
        에는 list.add ( "조 스미스");
        에는 list.add ( "홍길동") 
        에는 list.add ( "왕 우") 
        에는 list.add ( "조 여섯") 
        에는 list.add ( "Tianqi") 
        에는 list.add ( "놈"); 
/ / 1, 제 목록 스트림 포트 스트림으로 변환되어 
        스트림 <문자열> 스트림 list.stream = (); 
// 2 컬렉션을 통해 스트림 foreach 문의 방법을 사용 
        stream.forEach (S -> System.out.print (S + "" )); // 출력 : Zhangsanlisi 왕 우 자오 Tianqi 여섯 놈 
이를 사용하는 경우 // 3, 스트림이 일어날 것인가? 
        stream.filter (들 -> s.startsWith ( "장")); 
//이 예외가 발생합니다하십시오 java.lang.IllegalStateException : 스트림이 이미 또는 휴일에 운영되었습니다 
    } 
}

  

  • 필터 () 메소드

 

cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods 포장재 

오기 java.util.stream.Stream는; 

/ * 
사용 * 필터 () 메소드 스트림 
* 스트림 <T> 필터 (술어 <슈퍼 T?> 술어 이 스트림의 조성과 일치하는 소정의 술어의 요소들로부터)이 역류. 
* 파라미터 : 
프로세스 파라미터를 수신 * 함수 인터페이스이며, 이는 람다 식을 사용하는 것이 가능하다 
필터 소자 : 기능 * 
* 
* 스트림 흐름 특성 
            (사용되는) 시간 소모 될 수 유동관에 속하는 1, 
            2 제 1 스트림 흐름 메소드 호출 데이터가 먼저 폐쇄한다까지 사용되었던 이때 다음 스트림 스트림 흐름에 흘러 완료 
                의 클래스에 대해 호출 할 수 이때 제 1 스트림 흐름에서 
                우리 스트림 만 흐른다 한번 이용 될 수있다 
* / 
공용 클래스 Test02StreamFilter { 

    공공 정적 무효 메인 (문자열 []에 args) { 
// 스트림을 만들
        스트림 <문자열> streamA = Stream.of ( " 조 스미스", "홍길동", "왕 오", "조 여섯", "Tianqi", "나쁜 놈"); 
// 난 그냥 성을 필요로 "창"에서 그래서 스트림 흐름 여과법, 필터 호출 
        streamA.filter (S -> s.startsWith ( "장")) 대해 forEach (S -> 에서 System.out.println (S)); // 출력 : 장 

@ 참고 
        스트림 <문자열> streamB = Stream.of ( " 밥", "화", "왕"); 
        스트림 <문자열> streamC streamB.filter = (S -> s.startswith ( "리")); 
/ / streamB.forEach (S->에서 System.out.println (S )); // 예외 IllegalStateException가 던지는 것 스트림을 사용하기 전에이 시간 
        streamC.forEach을 (S ->에서 System.out.println (S)) / / 출력 : 후아 
    } 
}

  

  • 지도 () 메소드
cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods 포장재 

오기 java.util.stream.Stream; 

/ * 
 * <R & LT> 스트림 <R & LT>지도 (기능 매퍼 <? R & LT 슈퍼 T의 연장>)을 반환 결과로부터 소정의 함수는 스트림으로 구성된 스트림 요소에 적용 하였다. 
 * 파라미터 : 
 타입 R의 데이터 스트림 타입 * 함수 인터페이스 함수는 전달 함수는 T 타입 일 수있다 
 * 매핑이라는 다른 종류로 한 형식을 변환 할 수있다. 
 * 역할 : 
 *지도 매핑 : 다른 스트림에서 스트림에 요소를 매핑해야하는 경우,이 방법은지도를 사용합니다 
 * * / 
공용 클래스 Test03StreamMap을 { 

    공공 정적 무효 메인 (문자열 []에 args) { 
문자열 : // 요구 사항을 유형 정수 정수 정수형 
        스트림 <문자열> 이제 stringstream = Stream.of ( "2", "1." "1." "3.") 
        스트림 <정수>
        integerStream.forEach (들 ->에서 System.out.println (들)); 
    } 
}

  

  • 계수 () 메소드
cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods 패키지, 

인 java.util.ArrayList의 가져 오기, 
가져 오기를 java.util.List; 
가져 오기 java.util.stream.Stream는; 

/ * 
 * 방법 스트림 (긴 카운트를 스트리밍 )이 스트림의 요소 수를 반환합니다. 
 * 
 * 기능 : 
 요소의 수 * 스트림 흐름 통계 
 * 주 : 
 다음 스트림 스트림에서 사용되는 다른 방법을 이용하여 완성 될 수 없다 * COUNT가 종결하는 방법이다 
 * 
 * * / 
공용 클래스 Test04StreamCount { 

    공용 static 메인 공극 (문자열 []에 args) { 

        일람 <문자열> = 새로운 새로운 목록 ArrayList를 <> () 
        에는 list.add ( "홍길동") 
        에는 list.add ( "홍길동") 
        에는 list.add ( "왕 우" ) 
        에는 list.add ( "조 여섯"); 
        목록.
        에는 list.add ( "나쁜 놈"); 

        스트림 <문자열> streamList = list.stream (); 
// 긴 COUNT = streamList.count (); 
        긴 COUNT = streamList.count (); // 호출이 더 이상 통화 후 흐름의 다른 방법 
        에서 System.out.println (COUNT). // 6 
    } 
}

  

  • 제한 () 메소드
cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods 포장재 

의 java.util.ArrayList 수입; 
오기를 java.util.List; 
오기 java.util.stream.Stream; 

/ * 
 * 트림 방법 스트림 <T> 한도 (긴이 maxSize)가되어 소자 유동 스트림 조성물을 반환 절단 길이는 MAXSIZE 초과 할 수 없다. 
 * 파라미터 : 
 *는 파라미터보다 큰 길이 데이터의 롱 타입의 집합 인 경우, 차단 그렇지 않으면 아무것도하지 않는다 
 : * 효과 
 * 제한 방법은 요소가 취해질 수 대류만을 취하는 제 N 
 * / 
공용 클래스 {Test06StreamLimit 

    공공 정적 무효 메인 (문자열 []에 args) { 
        // 스트림 스트림 가져 오기 
        목록을 <문자열> = 새 새 목록 ArrayList를 <> (); 
        에는 list.add ( "홍길동"); 
        에는 list.add ( "홍길동" ) 
        목록.
        에는 list.add ( "조 여섯") 
        에는 list.add ( "Tianqi") 

        ; 트림 스트림 list.stream = <문자열> () 
의 처음 두만큼 // 메소드 한계 스트림 유동 차단 요소를 사용하여, 소자 및 횡단 유동 
        stream.limit을 (2) .forEach (S->에서 System.out.println (S)); 
    } 
}

  

  • 이동 () 메소드
cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods 포장재 

의 java.util.ArrayList 수입; 
오기를 java.util.List; 
오기 java.util.stream.Stream; 

/ * 
 * 트림 방법 스트림 <T> 스킵 삭제 N 개의 요소의 제 1 스트림 후 (긴 n)은, 복귀의 나머지 요소들은 그 흐름 흐른다. 
 * 파라미터 : 
 * 인 데이터의 롱 타입 
 * 기능 : 
 *는 스트림 스트림 이용한 스킵 방법 후에 취해진 획득의 첫 번째 N 개 요소 이동하려면 
 스트림의 현재의 길이가 N보다 크면 *를 N 생략되거나 EX- 길이가 0의 스트림이다. 
 * / 
공용 클래스 Test06StreamSkip { 

    공공 정적 무효 메인 (문자열 []에 args) { 
        일람 <문자열> = 새로운 새로운 목록 ArrayList를 <> () 
        에는 list.add ( "홍길동") 
        에는 list.add ( "ZHAO 실리콘") ; 
        에는 list.add ( "다섯 왕");
        에는 list.add ( "조 여섯") 
        에는 list.add ( "Tianqi") 
        에는 list.add ( "자식") 

        스트림 <문자열> 스트림 list.stream = (); 
        stream.skip .forEach ((3). (S) -> System.out.print (S + " ")); // 출력 : 조 여섯 의사 인삼 놈 
    } 
}

  

  • CONCAT 방법
cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods 포장재 

의 java.util.ArrayList 수입; 
오기를 java.util.List; 
오기 java.util.stream.Stream; 

/ * 
 * 스트림 인터페이스 정적 <T> 스트림 <T>를 CONCAT (스트림은 스트림 <? (가) T를 연장> B <?를는 T가 연장>) 
 * 게으른 스트림 연결 요소가 제 기본 스트림있는 모든 모든 초 기본 스트림 다음을 생성한다. 
 * 매개 변수 : 
 * 개의 스트림 
 * 역할 : 
 두 개의 스트림이있는 경우 *, 당신은 당신이 정적 메소드 스트림 흐름 CONCAT를 사용하여, 하나 개의 스트림으로 병합 할 
 * * / 
공용 클래스 Test07StreamConcat { 

    공공 정적 무효 메인 (문자열 [] 인수) { 

        목록 <문자열> = 새로운 새로운 챠트 ArrayList를 <> (); 
        listA.add ( "홍길동"); 
        listA.add ( "홍길동"); 
        챠트.
        listA.add ( "조 여섯"); 
        listA.add ( "Tianqi"); 
        listA.add ( "자식") 

        에서 <문자열> = 새로운 새 listB ArrayList를 <> (); 
        listB.add ( "밥") ; 
        listB.add ( "장 치앙"); 
        listB.add ( "아") 

        스트림 streamA = listA.stream <문자열> () 
        스트림 streamB = listB.stream <문자열> () 

        스트림 <문자열> = concatAB Stream.concat (streamA, streamB) 

        concatAB.forEach (S -> System.out.print의 (S + "")); // Zhangsanlisi 여섯 TianQi 조 왕 우 치앙 아 샤오밍 놈 
    } 
}

  

원본 : HTTPS : //blog.csdn.net/qq_41319058/article/details/90321251

추천

출처www.cnblogs.com/qbdj/p/10951090.html