728x90

java8 3

자바의 정석 - 스트림(Stream)

target: 자바의 정석 - 스트림(Stream) 자바의 정석(남궁성 저) 2권 학습내용 정리 method: 1. 스트림 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓았다. Collection이나 Iterator 같은 인터페이스를 이용해서 컬렉션을 다루는 방식을 표준화 했지만, 각 컬렉션 클래스에는 같은 기능의 메서드들이 중복해서 정의되어 있다. List를 정렬할 때는 Collection.sort()를 사용해야하고, 배열을 정렬할 때는 Arrays.sort()를 사용해야 한다. 이렇게 데이터 소스마다 다른 방식으로 다루어야하는 문제점을 해결해주는 것이 Stream 이다. // 기존 String[] strArr = {"aaa", "bbb", "ccc"}; Lis..

Dev/Java 2022.08.08

[Java 8+] Stream to map 및 Method Reference

target: String[] to Stream & Stream에서 Map으로 변환, 그리고 Method Reference method: 1. String[][] to Stream 2차원 String 배열을 Stream으로 변환 시, Stream.of() 또는 Arrays.stream()을 통해 Stream을 생성 // String[][] to Stream String[][] vehicle = new String[][] {{"CAR", "Audi"}, {"BIKE", "Harley Davidson"}}; Stream stream = Stream.of(vehicle); * 2차원 String 배열을 순차적으로 가져오기 위해서 Stream으로 변환 * Stream의 첫번째 요소는 String[0], 두번째 ..

Dev/Java 2022.08.08

Stream을 통한 Map에서의 원하는 키 추출 및 별도 Map 생성

target: Java Stream + 람다 표현식을 사용하여 원하는 키 추출하여 별도의 Map을 생성 method: 1. Lambda Expression 익명함수(Anonymous Function)으로 method를 변수처럼 다룰 수 있음 ※ Lambda 관련 자세한 내용은 가장 밑의 source의 원본 출처 확인 2. Stream 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 method를 정의 Collection이나 Iterator 같은 인터페이스를 이용하여 Collection을 다루는 방식을 표준화 하였으나, 각 Collection Class에는 같은 기능의 method들이 중복되어 정의되어 있음 (ex. List 정렬 = Collection.sort(), 배열 정렬 = Arrays...

Dev/Java 2022.08.05
728x90