그냥 블로그를 쓰기 시작, 또한 지침의 많은 큰 형님 포럼을 기쁘게 곳이 없습니다, 감사합니다!
- 대해 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