Java 스트림을 사용한 문자열 작업
1. Stream API를 사용하여 문자열 결합 Stream API를 사용하여 String 배열을 쉼표로 구분된 String으로 결합하는 함수를 만들어 본다. public static String join(String[] arrayOfString){ return Arrays.asList(arrayOfString) .stream() ...
1. Stream API를 사용하여 문자열 결합 Stream API를 사용하여 String 배열을 쉼표로 구분된 String으로 결합하는 함수를 만들어 본다. public static String join(String[] arrayOfString){ return Arrays.asList(arrayOfString) .stream() ...
1. Optional의 Map과 Flatmap map() 메소드는 Optional과 잘 작동한다. 함수가 필요한 정확한 유형을 반환하는 경우이다. Optional<String> s = Optional.of("test"); assertEquals(Optional.of("TEST"), s.map(String::toUpperCase)); 그...
1. List to Map List를 Map으로 변환하는 가장 간단한 방법이다. Book 클래스를 정의하는 방법은 다음과 같다. class Book { private String name; private int releaseYear; private String isbn; // getters and setters...
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() 및...