책/모던 자바 인 액션 (14) 썸네일형 리스트형 6장 스트림으로 데이터 수집 ❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.6.1 컬렉터란 무엇인가?일종의 reduce이라고 생각을 해도 될듯 하다.컬렉터의 요소를 다루는 메소드6.2 리듀싱과 요약기존의 filter, reduce메소드로 스트림 연산이 가능하지만 리듀싱을 이용하면 더 간단하게 데이터를 요약할 수 있다.메서드 참조로 가능하며 미리 만들어둔 연산들이 존재한다.(joining()같은 메소드들)6.3 그룹화stream의 요소를 특정 기준으로 그룹으로 나누는 것을 의미groupingBy이며 첫번째 인자로는 무엇을 기준으로 나눌지를 의미하고 두번째 인자는 나눈 요소들을 어떻게 할지을 의미한다.ex)첫 번째 요소는 isVegeterian, 두 번째 요소는 toList(), toSet(.. 5장 스트림 활용 ❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.5.1 필터링Predicate 람다식으로 stream에 filter를 할 수 있다.distinct()로 중복된 요소를 없앨 수 있다.5.2 스트림 슬라이싱stream은 takeWhile(), dropWhile(), limit()로 개수를 제한할 수 있다.5.3 매핑steam에 map(Predicate)를 통해 각 요소에 Predicate 를 적용할 수 있다.map의 반환 타입은 Stream(T)형식을 가진다. 이때 Stream의 각 요소가 List 와 같은 형식에서 map() 메서드를 거치면 반환값의 타입은 Stream >의 형식을 가진다. 그러나 flatMap(Predicate )은 Stream의 요소가 List.. 4장 스트림 소개 ❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.4.1 스트림이란 무엇인가?스트림은 데이터에 대한 질의를 통해 연산할 수 있으며 내부반복과 게으른 연산을 지원하는, 컬렉션과는 다른 방법이다.4.2 스트림 시작하기스트림은 '데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소'이다.데이터 처리 연산은 데이터 베이스의 질의와 비슷하게 구현을 고려하지 않고 질의을 하여 데이터 처리 연산을 하는 것을 의미한다.연속된 요소는 컬렉션 처럼 연속된 요소를 가지고 있는 것을 의미한다.소스는 컬렉션이나 데이터 I/O와 같이 연속된 데이터를 의미한다.파이프 라이닝을 지원하고 내부반복을 수행한다.스트림은 매우 비싼 연산이다.4.3 스트림과 컬렉션스트림은 데이터를 딱 한번만 순.. 3장 람다 표현식 ❗ 본 포스팅은 타이핑 공부법으로 작성하였습니다. 그렇기에 부족한 점이 존재할 수 있습니다.3.1 람다란 무엇인가익명 함수를 단순화한 것람다함수에는 파라미터, 바디, 리턴값, 발생할 수 있는 예외 리스트를 가질 수 있다.3.2 어디에, 어떻게 람다를 사용할까함수형 인터페이스를 이용해서 람다를 이용할 수 있다.함수형 인터페이스는 추상메소드 하나만을 가지는 인터페이스를 말한다.함수 디스크럽터는 추상메소드의 시그니처를 의미한다.람다(함수)를 함수형 인터페이스의 인스턴스라고 생각하면 된다.3.3 람다 활용: 실행 어라운드 패턴함수형 인터페이스를 선언하고(혹은 미리 만들어져 있는 Predicate, Function, Supplier, Consumer와 같은 함수형 인터페이스를 이용해도 좋다.) 람다를 인자로 받고.. 이전 1 2 다음