Stream
-
[JAVA] 스트림(Stream) 생성 / 중간연산 map,flatMap / 최종연산 reduce, collect / Optional (2)DEV/JAVA 2024. 3. 26. 16:16
1. 스트림 만들기 컬렉션 : Stream Collection.stream() ex : Stream intStream = list.stream(); 배열 Stream Stream.of(val) Stream Arrays.stream(val) ex 1 : Stream strStream = Stream.of( "a","b","c" ); ex 2 : Stream strStream = Arrays.stream(new String[]{ "a","b","c" }); 특정 범위의 정수 : 지정된 범위의 연속된 정수를 스트림으로 생성해서 반환 IntStream.range(int begin, int end) : end가 범위에 포함 X IntStream.rangeClosed(int begin, int end): end가 ..
-
[JAVA] 스트림(Stream) 기본 / 특징 / 연산 (1)DEV/JAVA 2024. 3. 20. 17:29
(1) 등장배경 컬렉션이나 배열에 데이터를 담고 원하는 결과를 얻기 위해 for문과 Iterator를 이용해 코드를 작성해왔으나, 이러한 코드는 가독성이 떨어지고 재사용성도 떨어진다. 또한 데이터 소스마다 다른 방식으로 다뤄야한다는 문제점과 컬렉션 클래스에 같은 기능의 메서드들이 중복해서 정의되어있다. 이러한 문제점들을 해결하기 위해 만들어진 것이 ‘스트림’ 이다. 스트림은 데이터소스를 추상화하고, 자주 사용되는 메서드를 정의해 놓았다. → 데이터 소스가 무엇이던 간에 같은 방식으로 다룰 수 있게 됨. → 코드의 재사용성이 높아짐 ex) 다음과 같은 배열과 리스트가 존재할때, String[] strArr = { “aaa”, “bbb”, “ccc” }; List strList = Arrays.asList(..