JAVA/Java Stream

JAVA Stream 기본

lovineff 2020. 6. 4. 12:33

Stream이란?

컬렉션, 배열등의 저장 요소를 하나씩 참조하며 함수형 인터페이스(람다식)를 적용하며 반복적으로 처리할 수 있도록 해준다.

파이프 라인 방식의 코딩이 가능하도록 한다

 

 

간단 코드로 맛보기

// 리스트 출력
// 기존 방식
for (Integer num : list) {
 System.out.println(num);
}

// Stream 사용
list.stream().forEach(System.out::println);



// 짝수 출력
// 기존 방식
for (Integer num : list) {
 if(num % 2 == 0) System.out.println(num);
}

// Stream 사용
list.stream().filter(n -> n % 2 == 0).forEach(System.out::println);

 

왜 쓰는가?

불필요하게 사용되는 반복문 조건문을 줄일수 있다

코드가 길어질 경우 알아보기가 쉽다.

병렬 처리가 간편하다

stream()을 parallelStream()으로 변경하면 병렬 처리가 된다.

 

예제

짝수 리스트 생성 후 출력

// 기존 방식
List<Integer> evenList = new ArrayList<>();
for (Integer num : list) {
	if(num % 2 == 0){
		evenList.add(num);
	}
}

for (Integer even : evenList) {
	System.out.println(even);
}

// Stream 사용
List<Integer> evenList2 = list.stream().filter(n -> n % 2 == 0).collect(Collectors.toList());

evenList2.stream().forEach(System.out::println);

'JAVA > Java Stream' 카테고리의 다른 글

Map 반복문  (0) 2021.04.12
Map Parallel (Map 병렬처리) 방법  (0) 2021.03.30
Stream 객체 값 변경 예제  (0) 2020.11.30
Java 1.8 CompletableFuture 모든 동작 완료 확인  (0) 2020.06.04
Stream 함수  (0) 2020.06.04