DevBoi

Stream 객체 사용 방법 및 예제 본문

Language/[Java]

Stream 객체 사용 방법 및 예제

HiSmith 2021. 7. 5. 21:56
반응형

우선 저번에 한 Stream 관련 좀더 상세 사용 예제를 작성할 예정이다.

 

 

우선 해당 배열을 List로 변경한뒤에 출력을했다.

순서는 그대로지만, 정렬을 하려면 함수를 하나더 콜해야한다.

 

 

이건, 데이터를 직접 바꾸는 일이다. 즉, List객체의 sorting 이 필요할떄마다, sort먹이고 출력 먹이고 출력이다.

굉장히 비효율적이다.

예를들어서, 어디에다가는 오름차순, 어디에다가는 내림차순일때 일일히 데이터를 바꿔야 한다는 단점이 있다.

 

그럼 이제Stream 객체를 사용해보자

Stream 객체의 장점은 아래와 같다. 객체라기보다는 API이다. 난 부르기 편한대로 부른다.

무튼 Stream APi를 사용하면 아래와 같은 장점이 있다.

 

1. Stream은  데이터를 직접적으로 변경하지 않는다.

즉 다시말하면, 원본데이터는 그대로 두고, 복사만해서 정렬이나 필터만 처리한다.

또한 소스코드 또한 간결해진다는 장점이 있다.

 

우선, 해당 Stream 객체에 대한 array to Stream 이나 List to Stream은 위와 같다.

해당 방식으로 변경해서 사용하면된다.

 

Stream의 사용방법 몇개에 대해서 알고가자.

1.MAP (원소들의값을 변형하거나 편집할때 쓰임, 대문자 소문자 스플릿 등등 원하는대로 할수있다.)

간단하게 대문자로 바꿀수 있고,

요런식으로 특정 함수를 걸수도있다. 확장성 면에서 다양해보인다.

 

 

2.filter

특정요소를 거르거나, 조건값을 줘서, 값을 편집할때 쓴다.

 

 

요런식으로 쓴다.

두개를 같이쓰면? 정상적으로 출력이된다.

 

3.  sorted를 사용할수있다.

역순과 정순의 방법 입니다.

 

 

4.Reduce , 각각의 연산이나 조건을 부합해서, 할수있다. 필터와 부합하지만 더 딥한 연산을 할수있게해준다.

이런식으로 합산이나 매개변수를 넘겨서 처리할수있다. 추가로, 콤비네이터를 넣으면

해당 병렬처리stream으로 처리를해야한다.

병렬처리 stream이랑 optional변수 사용은 다음에 좀더 자세히 포스팅 해야겠드아

반응형

'Language > [Java]' 카테고리의 다른 글

JAVA stream 사용 예제_1  (0) 2021.09.02
Java Garbage Collection 이란?  (0) 2021.07.21
Optional 변수 예제 및 사용방법  (0) 2021.07.07
제네릭 사용법 예제 쉽게 정리  (0) 2021.06.27
자바 -제네릭이란?  (0) 2021.06.23