스트림 stream이란?

자바 8부터 사용할 수 있는 기능으로 배열 또는 컬렉션 인스턴스에 함수 여러개를 조합해서 원하는 결과를 필터링하고 가공된 값을 얻을 수 있습니다.
이전 버전에선 배열 또는 컬렉션 인스턴스를 for, foreach문을 반복해 하나씩 작업했는데 메소드가 여러개 일 경우 루프를 여러번 돌거나 코드양이 많아져 작업이 어렵다는 단점이 있었습니다. 그런데 스트림은 람다를 사용해 간결하게 코딩을 할 수 있고, 병렬처리가 가능해서 여러개의 작업을 동시에 처리할 수 있어서 이런 불편함을 해결해줍니다.

스트림의 처리과정

* 생성: 스트림 인스턴스 생성 -> 가공(필터링,매핑등 원하는 결과를 만드는 중간작업) ->결과물 생성

스트림 sort를 사용한 정렬

  • list 정렬( Reply 클래스의 seqReply 필드를 사용해 오름차순 정렬) image

  • list 정렬( Reply 클래스의 seqReply 필드를 사용해 내림차순 정렬) image

  • group필드 이후 ,seqReply 필드로 다중정렬시 image

*Comparator를 직접 만들어서 sorted에 넣는 방법 image

*Comparator를 직접 만들어서 sorted에 넣는 방법2 (stream으로 Comparator생성) image

카테고리:

업데이트:

댓글남기기