목록언어 (31)
개발자는 기록이 답이다

1. 수집(collect()) collect() : 스트림은 요소들을 필터링 또는 매핑한 후 요소들을 수집하는 최종 처리 메소드 이 메소드를 이용하면 필요한 요소만 컬렉션으로 담을 수 있고, 요소들을 그룹핑한 후 집계(리덕션)할 수 있다. 필터링한 요소 수집 Stream의 collect(Collector collector) 메소드는 필터링 또는 매핑된 요소들을 새로운 컬렉션에 수집하고, 이 컬렉션을 리턴한다. 매개값인 Collector(수집기)는 어떤 요소를 어떤 컬렉션에 수집할 것인지 결정한다. Collector의 타입 파라미터 T의 요소이고, A는 누적기(accumulator)이다. 그리고 R은 요소가 저장될 컬렉션이다. 풀어서 해석하면 T요소를 A 누적기가 R에 저장한다는 의미이다. Collecto..

1. 매칭(allMatch(), anyMatch(), noneMatch()) 스트림 클래스는 최종 처리 단계에서 요소들이 특정 조건에 만족하는지 조사할 수 있도록 세 가지 매칭 메소드를 제공한다. allMatch()메소드는 모든 요소들이 매개값으로 주어진 Predicate의 조건을 만족하는지 조사하고, anyMatch()메소드는 최소한 한 개의 요소가 매개값으로 주어진 Predicate의 조건을 만족하는지 조사한다. noneMatch()메소드는 모든 요소들이 매개값으로 주어진 PRedicate의 조건을 만족하지 않는지 조사한다. 아래 예제는 int[]배열로부터 스트림을 생성하고, 모든 요소가 2의 배수인지, 하나라도 3의 배수가 존재하는지, 모든 요소가 3의 배수가 아닌지 조사한다. package org..

1. 필터링(distinct(), filter()) 필터링은 중간 처리 기능으로 요소를 걸러내는 역할을 한다. 필터링 메소드인 distinct()와 filter()메소드는 모든 스트림이 가지고 있는 공통 메소드이다. distinct()메소드는 중복을 제거하는데, Stream의 경우 Object.equals(Object)가 true이면 동일한 객체로 판단하고 중복을 제거한다. IntStream, LongStream, DoubleStream은 동일값일 경우 중복을 제거한다. package org.example.chapter16.filtering; import java.util.Arrays; import java.util.List; public class FilteringExample { public stat..

1. 스트림 소개 스트림(Stream)은 자바 8부터 추가된 컬렉션(배열 포함)의 저장요소를 하나씩 참조해서 람다식(함수적-스타일)로 처리할 수 있도록 해주는 반복자이다. 반복자 스트림 자바 7이전까지는 List컬렉션에서 요소를 순차적으로 처리하기 위해 Iterator반복자를 사용해왔다. List list = Arrays.asList("홍길동","신용권","감자바"); Iterator iterator = list.iterator(); while(iterator.hasNext()) { String name = iterator.next(); System.out.println(name); } 위의 코드를 Stream을 사용해서 변경하면 다음과 같다. List list = Arrays.asList("홍길동","..