본문 바로가기

Stream

(2)
Java Stream Collector 반쪽짜리 스트림을 쓰던 그대에게. Advanced Stream! Java Stream "Collector" filter, map, reduce, ... 뭐 이 정도? 이번에 "모던 자바 인 액션"이라는 책을 다시 보면서 반쪽짜리 스트림을 쓰고 있었구나... 하는 생각이 들었습니다. 이전에는 filter, map, reduce, flatmap, ..등 대충 이 정도는 어떻게 동작하는지에 대해서 알고 있고, 실제 업무에서도 사용해봤기 때문에 속칭 "스트림 좀 쓴다!" 하고 있었습니다.( 자부심 ) 그러나 이번에 "Collector"쪽을 보면서 배울 게 아직 많구나 하는 느낌을 받았습니다. Collector를 보고 난 후, 제 코드에서 확인한 것은 스트림에서 대부분의 마무리를 .collect(Collectors.toList()) 로 끝내고 있었던 것입니다. 🐲화룡점정이라 ..
Stream foreach 성능 테스트 (stream을 사용하지 말아야할 때는 언제일까로 시작된 간단한 테스트) Stream foreach 반복문 테스트 자바 Stream을 이용한지 꽤 됐다. 필자가 개인적으로 Stream을 사용하는 이유는 가독성이 좋아지기 때문이다. (가장 큰 이유) 예전에 Stream이 막 등장했을 시기에는 Stream이 어색하고 전통적인 for loop에 익숙한 개발자와 같이 개발할 수 있기 때문에 Stream 도입을 유의하자고 많이 했다. 근데 요즘에는 고민 없이 사용할 만큼 Stream을 많이 사용한다. 필자 또한 Stream을 잘 이용하는데 문제는 적재적소에 사용하지 못하는 점이다. 여기서 적재적소라 함은 Stream이 더 유용할 때 사용하는 것이다. 보통 map(), flatMap()등을 이용해야할 때나 이용하면 더 작업이 간결하고 성능상에도 이득이 있을 때 사용하는 것을 권장하는 것..