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. 일반 자바 사용 JDK 8 Stream 클래스에는 몇 가지 유용한 정적 유틸리티 메서드가 있다. concat() 메서드를 살펴본다. 1) 두 스트림 병합 Stream 2개를 결합하는 가장 간단한 방법은 정적 Stream.concat() 메서드를 사용하는 것이다. @Test public void whenMergingStreams_thenResu...
1. 병렬 스트림 임의의 Collection 유형에 대해 parallelStream 메서드를 호출하면 병렬 Stream이 반환될 수 있다. @Test public void givenList_whenCallingParallelStream_shouldBeParallelStream(){ List<Long> aList = new Array...
1. filter() 사용 Java 8의 옵션 중 하나는 Optional::isPresent를 사용하여 값을 필터링한 다음 Optional::get 함수를 사용하여 매핑을 수행하여 값을 추출하는 것이다. List<String> filteredList = listOfOptionals.stream() .filter(Optional::isP...
1. Java 9의 Stream.takeWhile() 문자열 항목의 스트림이 있고 길이가 홀수인 한 해당 요소를 처리하려고 한다고 가정해 본다. Java 9 Stream.takeWhile 메소드를 사용해 본다. Stream.of("cat", "dog", "elephant", "fox", "rabbit", "duck") .takeWhile(n -...
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’ 절과 유사한 기능을 제공한다. 일부 속성을 기준으...