자바 8 stream 의 중요 한 Collector 인터페이스
T is the generic type of the items in the stream to be collected. A is the type of the accumulator, the object on which the partial result will be accumulated during the collection process. R is the type of the object (typically, but not always, the collection) resulting from the collect operation.
T 는 수집 할 스 트림 의 일반적인 유형 입 니 다.A 는 누산기 의 유형 으로 수집 과정 에서 그 위 에 일부 결 과 를 축적 하 는 대상 이다.R 은 수집 작업 이 발생 하 는 대상 (보통 집합 되 지 않 음) 의 유형 이다.
간단 한 인 스 턴 스 사용:
import java.util.*;
import java.util.function.*;
import java.util.stream.Collector;
import static java.util.stream.Collector.Characteristics.*;
public class ToListCollector<T> implements Collector<T, List<T>, List<T>> {
@Override
public Supplier<List> supplier() {
return () -> new ArrayList();
}
@Override
public BiConsumer<List, T> accumulator() {
return (list, item) -> list.add(item);
}
@Override
public Function<List<T>, List<T>> finisher() {
return i -> i;
}
@Override
public BinaryOperator<List> combiner() {
return (list1, list2) -> {
list1.addAll(list2);
return list1;
};
}
@Override
public Set characteristics() {
return Collections.unmodifiableSet(EnumSet.of(IDENTITY_FINISH, CONCURRENT));
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.