Java Stream Immutable Collection
1. 표준 자바 사용 1) Java의 toUnmodifyingList 사용 Java 10부터 Java의 Collectors 클래스에서 toUnmodifyingList 메서드를 사용할 수 있다. List<String> givenList = Arrays.asList("a", "b", "c"); List<String> result ...
1. 표준 자바 사용 1) Java의 toUnmodifyingList 사용 Java 10부터 Java의 Collectors 클래스에서 toUnmodifyingList 메서드를 사용할 수 있다. List<String> givenList = Arrays.asList("a", "b", "c"); List<String> result ...
1. Filtering Collector Collectors.filtering은 Stream filter()와 유사하다. 입력 요소를 필터링하는데 사용되지만 다른 시나리오에 사용된다. Stream의 필터는 스트림 체인에서 사용되는 반면 필터링은 groupingBy와 함께 사용되도록 설계된 Collector 이다. Stream의 필터를 사용하면 값을 ...
1. groupingBy Collectors Java 8 Stream API를 사용하면 선언적인 방식으로 데이터 컬렉션을 처리할 수 있다. 정적 팩토리 메소드 Collectors.groupingBy() 및 Collectors.groupingByConcurrent()는 SQL 언어의 ‘GROUP BY’ 절과 유사한 기능을 제공한다. 일부 속성을 기준으...
1. Stream.collect() 메서드 Stream.collect()는 Java 8의 Stream API 터미널 메소드 중 하나이다. 이를 통해 Stream 인스턴스에 있는 데이터 요소에 대해 변경 가능한 접기 작업(요소를 일부 데이터 구조에 다시 패키징하고 추가 논리를 적용하고 연결하는 등)을 수행할 수 있다. 이 작업에 대한 전략은 Colle...
1. Java 8의 람다 Java 8은 람다 표현식의 형태로 강력하고 새로운 구문 개선을 가져왔다. 람다는 일류 언어 시민으로서 처리할 수 있는 익명 함수이다. 예를 들어, 이를 메서드에 전달하거나 메서드에서 반환할 수 있다. Java 8 이전에는 일반적으로 단일 기능을 캡슐화해야 하는 모든 경우에 대해 클래스를 만들었다. 이는 기본 함수 표현 역할...
1. Stream.findAny() 사용 이름에서 알 수 있듯이 findAny() 메서드를 사용하면 Stream에서 모든 요소를 찾을 수 있다. 발생 순서에 주의를 기울이지 않고 요소를 찾을 때 이를 사용한다. 이 메서드는 Stream이 비어 있으면 비어 있는 Optional 인스턴스를 반환한다. @Test public void createSt...
1. 스트림 API Java 8의 새로운 주요 기능 중 하나는 요소 시퀀스를 처리하기 위한 클래스가 포함된 스트림 기능(java.util.stream)의 도입이다. 핵심 API 클래스는 Stream<T> 이다. 예제에서는 기존 데이터 공급자 소스를 사용하여 스트림을 생성하는 방법을 보여준다. 1) 스트림 생성 스트림은 stream() 및...
1. 스트림 생성 다양한 소스의 스트림 인스턴스를 생성하는 방법에는 여러 가지가 있다. 일단 생성된 인스턴스는 소스를 수정하지 않으므로 단일 소스에서 여러 인스턴스를 생성할 수 있다. 1) Empty Stream 빈 스트림을 생성하는 경우에는 empty() 메서드를 사용해야 한다. Stream<String> streamEmpty = St...
1. Filters 필터는 Spring 프레임워크가 아닌 웹서버의 일부이다. 들어오는 요청의 경우 필터를 사용하여 요청이 서블릿에 도달하지 못하도록 조작하고 차단할 수도 있다. 그 반대로 응답이 클라이언트에 도달하지 못하도록 차단할 수도 있다. Spring Security는 인증 및 권한 부여에 필터를 사용하는 좋은 예이다. Spring Securi...
1. Filters 필터는 Spring 프레임워크가 아닌 웹서버의 일부이다. 들어오는 요청의 경우 필터를 사용하여 요청이 서블릿에 도달하지 못하도록 조작하고 차단할 수도 있다. 그 반대로 응답이 클라이언트에 도달하지 못하도록 차단할 수도 있다. Spring Security는 인증 및 권한 부여에 필터를 사용하는 좋은 예이다. Spring Securi...