lambda 표현 식 의 Stream API
스 트림 특성
Stream 생 성
배열 을 통 해 집합 을 통 해 Stream. generate 방법 으로 Stream. iterate 방법 으로 다른 API 를 통 해 만 듭 니 다.
package com.per.lambada;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class StreamTest {
//
static void setArr1() {
String arr[] = { "a", "b", "c", "d" };
Stream stream = Stream.of(arr);
}
// List
static void setArr2() {
List list = Arrays.asList("a", "b", "c", "d");
Stream stream = list.stream();
}
// generate (Supplier )
static void setArr3() {
Stream stream = Stream.generate(() -> 1);
}
// iterate (UnaryOperator )
static void setArr4() {
Stream stream = Stream.iterate(1, x -> x + 1);
}
}
흐름 의 중간 조작
필터 필터 무 거 운 distinct 정렬 sorted 캡 처 limit, skip 변환 map, flatMap 기타 peek
흐름 의 종료 작업
순환 for 각 계산 min, max, count, average 매 칭 anyMatch, allMatch, noneMatch, findFirst, findAny 집합 reduce 수집 기 toArray, collect
package com.per.lambada;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamTest {
public static void main(String[] args) {
// :filter; :forEach
Arrays.asList(1,2,3,4,5,6,7).stream().filter(x->x%2==0).forEach(System.out::println);
// :filter,mapToInt; :sum
int sum = Arrays.asList(1,2,3,4,5,6,7).stream().filter(x->x%2==0).mapToInt(x->x).sum();
System.out.println("sum:"+sum);
// :max; :get
int max = Arrays.asList(1,2,3,4,5,6,7).stream().max((a,b)->a-b).get();
System.out.println("max:"+max);
// :min; :get
int min = Arrays.asList(1,2,3,4,5,6,7).stream().min((a,b)->a-b).get();
System.out.println("min:"+min);
Optional op = Arrays.asList(1,2,3,4,5,6,7).stream().filter(x->x%2==0).findAny();
System.out.println(" "+op.get());
int first=Arrays.asList(12,21,13,44,5,6,27).stream().sorted((a,b)->b-a).findFirst().get();
System.out.println(" "+first);
Object obj=Arrays.asList("ab","c","defg","hij","klm","n","opqrs").stream().sorted((a,b)->b.length()-a.length());
System.out.println((String)obj.toString());
// 1-50 list
List li = Stream.iterate(1, x->x+1).limit(50).collect(Collectors.toList());
Object[] a=Arrays.asList(1,2,3,4,5,6,7,8,2,3,4,5).stream().distinct().toArray();
// distinct Set
Set set=Arrays.asList(2,3,4,5,6,7,8,2,3,4,5,1).stream().collect(Collectors.toSet());
System.out.println(set);
String str ="11,22,33,44,55";
int num =Stream.of(str.split(",")).mapToInt(x->Integer.valueOf(x)).sum();
System.out.println(num);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.