Stream
-
람다와 스트림 - collect() part 2백엔드/자바 2023. 4. 19. 09:08
람다와 스트림 - collect() part1 collect()란? collect()란 스트림의 최종 연산 중 하나의 과정이다. 사실 다른 최종 연산과 같이 다뤄야하나 비중이 크다보니 별도로 다룰 것이다. collect()는 간단히 말하면 다양한 콜렉션 자료들을 쉽 sgcomputer.tistory.com 지난 번에 이어서 이번에는 collect()의 여러 기능 중 하나인 분할에 대해서 공부해보자. collect()는 스트림으로 만들어진 데이터를 쉽게 다루기 위한 메서드라고 이전 파트에서 배웠다. 하지만 이전 파트에서는 단일 스트림을 다루는 방법에 대해서만 배웠다. 이번에는 collect()를 이용해 스트림을 분할하여 나눈 데이터를 다루는 방법을 배울 것이다. partitioningBy()와 groupi..
-
람다와 스트림 - 최종 연산백엔드/자바 2023. 4. 17. 05:40
스트림의 최종 연산이란? 람다와 스트림 - 스트림의 정의와 특징 스트림의 정의와 그 필요성 한마디로 말하면 컬렉션이나 배열을 다루기 쉽게 만든 것이다. 기존의 컬렉션 프레임웍을 보면 위와 같이 List, Set, Map의 인터페이스로 구성된 것을 알 수 있다. 이 중 sgcomputer.tistory.com 이전 파트에서 배웠듯이 스트림은 일반적인 객체와 달리 한번 사용하고 나면 재활용이 불가능하다고 배웠다. 그때 이 사용의 기준이 되는 것이 바로 최종 연산이다. 이전에 써먹었던 그림을 다시 가져오면 위와 스트림은 위와 같은 과정으로 사용하게 된다. 컬렉션 데이터에 대한 스트림 요소를 생성한 뒤 중간 연산을 통해 데이터를 가공한다. 그 뒤에 최종 연산 과정에서 스트림 요소를 소모하면서 스트림의 사용이 끝..
-
람다와 스트림 - 중간 연산 part 2백엔드/자바 2023. 2. 13. 05:47
람다와 스트림 - 중간 연산 part 1 람다와 스트림 - 스트림의 정의와 특징 스트림의 정의와 그 필요성 한마디로 말하면 컬렉션이나 배열을 다루기 쉽게 만든 것이다. 기존의 컬렉션 프레임웍을 보면 위와 같이 List, Set, Map의 인터 sgcomputer.tistory.com 이전 글에서 우리는 스트림의 중간 연산에 대해 공부해봤다. 간단히 복습해보자면 스트림 중간 연산은 컬렉션 데이터를 쉽게 재가공하기 위해 존재한다. 그렇기에 연산 반복이 가능하고 반환 데이터의 타입이 Stream이다. 오늘은 지난 번에 이어 남은 중간 연산들에 대해 공부해보고자 한다. 중간 연산 - Map(): 스트림의 요소 변경 이전에 공부한 중간 연산 메서드 sorted(), skip() 등은 컬렉션의 데이터들을 거르거나 ..
-
람다와 스트림 - 스트림 만들기백엔드/자바 2021. 11. 9. 21:49
2021.09.15 - [백엔드/자바] - 람다와 스트림 - 스트림의 정의와 특징 람다와 스트림 - 스트림의 정의와 특징 스트림의 정의와 그 필요성 한마디로 말하면 컬렉션이나 배열을 다루기 쉽게 만든 것이다. 기존의 컬렉션 프레임웍을 보면 위와 같이 List, Set, Map의 인터페이스로 구성된 것을 알 수 있다. 이 중 sgcomputer.tistory.com 이전 파트에서는 스트림의 정의와 특징에 대해서 알아봤다. 간단히 복습해보자면 스트림이란 컬렉션의 데이터를 쉽게 다루기 위해 만들어진 인터페이스다. List든 Set이든 Map이든 형태에 구애받지 않고 데이터만 뽑아서 스트림 속에 넣고 가공할 수있다. 그렇다보니 스트림은 원본 데이터에 영향을 주지 않고 데이터만 손쉽게 뽑아 가공이 가능하다. 물론..
-
람다와 스트림 - 스트림의 정의와 특징백엔드/자바 2021. 9. 15. 00:24
스트림의 정의와 그 필요성 한마디로 말하면 컬렉션이나 배열을 다루기 쉽게 만든 것이다. 기존의 컬렉션 프레임웍을 보면 위와 같이 List, Set, Map의 인터페이스로 구성된 것을 알 수 있다. 이 중에서 List와 Set은 사용법이 비슷하지만, Map은 그 성격이 다르다. 이는 즉 컬렉션을 다룰 때 List, Set과 달리 Map을 다루기 위한 방법 또한 다르단 것을 의미한다. 스트림은 이러한 불편함을 해소하고자 만들어졌다. 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 필요한 메서드들을 정의한 인터페이스다. 예시를 한번 보도록 하자. 예를 들어 위와 같이 1부터 5까지 숫자를 가진 배열과 리스트가 있다고 가정해보자. 이제 이 배열과 리스트 중에서 짝수만 출력하려면 어떻게 해야할까? 일반적으로..