public final class Collectors extends Object
Collectorๅฎ่ฃ
ใ
ๅฎ็พฉๆธใฎใณใฌใฏใฟใไฝฟใฃใฆไธ่ฌ็ใชๅฏๅคใชใใฏใทใงใณใปใฟในใฏใๅฎ่กใใไพใใๆฌกใซ็คบใใพใใ
// Accumulate names into a List
List<String> list = people.stream().map(Person::getName).collect(Collectors.toList());
// Accumulate names into a TreeSet
Set<String> set = people.stream().map(Person::getName).collect(Collectors.toCollection(TreeSet::new));
// Convert elements to strings and concatenate them, separated by commas
String joined = things.stream()
.map(Object::toString)
.collect(Collectors.joining(", "));
// Compute sum of salaries of employee
int total = employees.stream()
.collect(Collectors.summingInt(Employee::getSalary)));
// Group employees by department
Map<Department, List<Employee>> byDept
= employees.stream()
.collect(Collectors.groupingBy(Employee::getDepartment));
// Compute sum of salaries by department
Map<Department, Integer> totalByDept
= employees.stream()
.collect(Collectors.groupingBy(Employee::getDepartment,
Collectors.summingInt(Employee::getSalary)));
// Partition students into passing and failing
Map<Boolean, List<Student>> passingFailing =
students.stream()
.collect(Collectors.partitioningBy(s -> s.getGrade() >= PASS_THRESHOLD));
| ไฟฎ้ฃพๅญใจๅ | ใกใฝใใ | ่ชฌๆ |
|---|---|---|
static <T> Collector<T,?,Double> |
averagingDouble(ToDoubleFunction<? super T> mapper) |
ๅ
ฅๅ่ฆ็ด ใซdoubleๅค้ขๆฐใ้ฉ็จใใ็ตๆใฎ็ฎ่กๅนณๅใ็ๆใใ
Collectorใ่ฟใใพใใ |
static <T> Collector<T,?,Double> |
averagingInt(ToIntFunction<? super T> mapper) |
ๅ
ฅๅ่ฆ็ด ใซintๅค้ขๆฐใ้ฉ็จใใ็ตๆใฎ็ฎ่กๅนณๅใ็ๆใใ
Collectorใ่ฟใใพใใ |
static <T> Collector<T,?,Double> |
averagingLong(ToLongFunction<? super T> mapper) |
ๅ
ฅๅ่ฆ็ด ใซlongๅค้ขๆฐใ้ฉ็จใใ็ตๆใฎ็ฎ่กๅนณๅใ็ๆใใ
Collectorใ่ฟใใพใใ |
static <T,A,R,RR> Collector<T,A,RR> |
collectingAndThen(Collector<T,A,R> downstream, Function<R,RR> finisher) |
่ฟฝๅ ใฎไปไธใๅคๆใๅฎ่กใใใใใใซ
Collectorใ้ฉๅฟใใใพใใ |
static <T> Collector<T,?,Long> |
counting() |
Tๅใฎ่ฆ็ด ใๅใๅใฃใฆๅ
ฅๅ่ฆ็ด ใฎๆฐใใซใฆใณใใใCollectorใ่ฟใใพใใ |
static <T,K> Collector<T,?,Map<K,List<T>>> |
groupingBy(Function<? super T,? extends K> classifier) |
ๅ้ก้ขๆฐใซๅพใฃใฆ่ฆ็ด ใใฐใซใผใๅใใ็ตๆใ
Mapใซๆ ผ็ดใใฆ่ฟใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใCollectorใ่ฟใใพใใ |
static <T,K,A,D> Collector<T,?,Map<K,D>> |
groupingBy(Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream) |
ๅ้ก้ขๆฐใซๅพใฃใฆ่ฆ็ด ใใฐใซใผใๅใใๅพใๆๅฎใใใไธๆต
Collectorใไฝฟใฃใฆ็นๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใฎใชใใฏใทใงใณๆไฝใๅฎ่กใใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใซในใฑใผใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใCollectorใ่ฟใใพใใ |
static <T,K,D,A,M extends Map<K,D>> |
groupingBy(Function<? super T,? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,A,D> downstream) |
ๅ้ก้ขๆฐใซๅพใฃใฆ่ฆ็ด ใใฐใซใผใๅใใๅพใๆๅฎใใใไธๆต
Collectorใไฝฟใฃใฆ็นๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใฎใชใใฏใทใงใณๆไฝใๅฎ่กใใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใซในใฑใผใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใCollectorใ่ฟใใพใใ |
static <T,K> Collector<T,?,ConcurrentMap<K,List<T>>> |
groupingByConcurrent(Function<? super T,? extends K> classifier) |
ๅ้ก้ขๆฐใซๅพใฃใฆ่ฆ็ด ใใฐใซใผใๅใใใ
Tๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใไธฆ่กCollectorใ่ฟใใพใใ |
static <T,K,A,D> Collector<T,?,ConcurrentMap<K,D>> |
groupingByConcurrent(Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream) |
ๅ้ก้ขๆฐใซๅพใฃใฆ่ฆ็ด ใใฐใซใผใๅใใๅพใๆๅฎใใใไธๆต
Collectorใไฝฟใฃใฆ็นๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใฎใชใใฏใทใงใณๆไฝใๅฎ่กใใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใซในใฑใผใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใไธฆ่กCollectorใ่ฟใใพใใ |
static <T,K,A,D,M extends ConcurrentMap<K,D>> |
groupingByConcurrent(Function<? super T,? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,A,D> downstream) |
ๅ้ก้ขๆฐใซๅพใฃใฆ่ฆ็ด ใใฐใซใผใๅใใๅพใๆๅฎใใใไธๆต
Collectorใไฝฟใฃใฆ็นๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใฎใชใใฏใทใงใณๆไฝใๅฎ่กใใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใซในใฑใผใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใไธฆ่กCollectorใ่ฟใใพใใ |
static Collector<CharSequence,?,String> |
joining() |
ๅ
ฅๅ่ฆ็ด ใๆคๅบ้ ใซ้ฃ็ตใใฆ1ใคใฎ
StringใซใใCollectorใ่ฟใใพใใ |
static Collector<CharSequence,?,String> |
joining(CharSequence delimiter) |
ๅ
ฅๅ่ฆ็ด ใๆคๅบ้ ใซๆๅฎใใใๅบๅใๆๅญใงๅบๅใใชใใ้ฃ็ตใใ
Collectorใ่ฟใใพใใ |
static Collector<CharSequence,?,String> |
joining(CharSequence delimiter, CharSequence prefix, CharSequence suffix) |
ๅ
ฅๅ่ฆ็ด ใๆคๅบ้ ใซๆๅฎใใใๅบๅใๆๅญใงๅบๅใใชใใ้ฃ็ตใใๆๅฎใใใๆฅ้ ญ่พใจๆฅๅฐพ่พใไปๅ ใใ
Collectorใ่ฟใใพใใ |
static <T,U,A,R> Collector<T,?,R> |
mapping(Function<? super T,? extends U> mapper, Collector<? super U,A,R> downstream) |
Uๅใฎ่ฆ็ด ใๅใๅใCollectorใTๅใฎ่ฆ็ด ใๅใๅใใใใใซ้ฉๅฟใใใใใใๅๅ
ฅๅ่ฆ็ด ใซใใใใณใฐ้ขๆฐใ้ฉ็จใใๅพใง่็ฉใ่กใใใใซใใพใใ |
static <T> Collector<T,?,Optional<T>> |
maxBy(Comparator<? super T> comparator) |
ๆๅฎใใใ
ComparatorใซๅพใฃใฆOptional<T>ใจใใฆ่จ่ฟฐใใใๆๅคง่ฆ็ด ใ็ๆใใCollectorใ่ฟใใพใใ |
static <T> Collector<T,?,Optional<T>> |
minBy(Comparator<? super T> comparator) |
ๆๅฎใใใ
ComparatorใซๅพใฃใฆOptional<T>ใจใใฆ่จ่ฟฐใใใๆๅฐ่ฆ็ด ใ็ๆใใCollectorใ่ฟใใพใใ |
static <T> Collector<T,?,Map<Boolean,List<T>>> |
partitioningBy(Predicate<? super T> predicate) |
Predicateใซๅพใฃใฆๅ
ฅๅ่ฆ็ด ใๅๅฒใใ็ตๆใMap<Boolean, List<T>>ๅ
ใซๆ ผ็ดใใCollectorใ่ฟใใพใใ |
static <T,D,A> Collector<T,?,Map<Boolean,D>> |
partitioningBy(Predicate<? super T> predicate, Collector<? super T,A,D> downstream) |
Predicateใซๅพใฃใฆๅ
ฅๅ่ฆ็ด ใๅๅฒใใๅฅใฎCollectorใซๅพใฃใฆๅใใผใใฃใทใงใณใฎๅคใใชใใฅใผในใใ็ตๆใMap<Boolean, D>ๅ
ใซๆ ผ็ดใใCollectorใ่ฟใใพใ(ไธๆตใฎใชใใฏใทใงใณใฎ็ตๆใใใใใฎๅคใซใชใ)ใ |
static <T> Collector<T,?,Optional<T>> |
reducing(BinaryOperator<T> op) |
ๆๅฎใใใ
BinaryOperatorใฎไธใงๅ
ฅๅ่ฆ็ด ใฎใชใใฏใทใงใณใๅฎ่กใใCollectorใ่ฟใใพใใ |
static <T> Collector<T,?,T> |
reducing(T identity, BinaryOperator<T> op) |
ๆๅฎใใใ
BinaryOperatorใฎไธใงๆๅฎใใใๅไฝๅ
ใไฝฟใฃใฆๅ
ฅๅ่ฆ็ด ใฎใชใใฏใทใงใณใๅฎ่กใใCollectorใ่ฟใใพใใ |
static <T,U> Collector<T,?,U> |
reducing(U identity, Function<? super T,? extends U> mapper, BinaryOperator<U> op) |
ๆๅฎใใใใใใใณใฐ้ขๆฐใจ
BinaryOperatorใฎไธใงๅ
ฅๅ่ฆ็ด ใฎใชใใฏใทใงใณใๅฎ่กใใCollectorใ่ฟใใพใใ |
static <T> Collector<T,?,DoubleSummaryStatistics> |
summarizingDouble(ToDoubleFunction<? super T> mapper) |
ๅๅ
ฅๅ่ฆ็ด ใซ
double็ๆใใใใณใฐ้ขๆฐใ้ฉ็จใใใใฎ็ตๆใฎๅคใฎใตใใชใผ็ตฑ่จใ่ฟใCollectorใ่ฟใใพใใ |
static <T> Collector<T,?,IntSummaryStatistics> |
summarizingInt(ToIntFunction<? super T> mapper) |
ๅๅ
ฅๅ่ฆ็ด ใซ
int็ๆใใใใณใฐ้ขๆฐใ้ฉ็จใใใใฎ็ตๆใฎๅคใฎใตใใชใผ็ตฑ่จใ่ฟใCollectorใ่ฟใใพใใ |
static <T> Collector<T,?,LongSummaryStatistics> |
summarizingLong(ToLongFunction<? super T> mapper) |
ๅๅ
ฅๅ่ฆ็ด ใซ
long็ๆใใใใณใฐ้ขๆฐใ้ฉ็จใใใใฎ็ตๆใฎๅคใฎใตใใชใผ็ตฑ่จใ่ฟใCollectorใ่ฟใใพใใ |
static <T> Collector<T,?,Double> |
summingDouble(ToDoubleFunction<? super T> mapper) |
ๅ
ฅๅ่ฆ็ด ใซdoubleๅค้ขๆฐใ้ฉ็จใใ็ตๆใฎๅ่จใ็ๆใใ
Collectorใ่ฟใใพใใ |
static <T> Collector<T,?,Integer> |
summingInt(ToIntFunction<? super T> mapper) |
ๅ
ฅๅ่ฆ็ด ใซintๅค้ขๆฐใ้ฉ็จใใ็ตๆใฎๅ่จใ็ๆใใ
Collectorใ่ฟใใพใใ |
static <T> Collector<T,?,Long> |
summingLong(ToLongFunction<? super T> mapper) |
ๅ
ฅๅ่ฆ็ด ใซlongๅค้ขๆฐใ้ฉ็จใใ็ตๆใฎๅ่จใ็ๆใใ
Collectorใ่ฟใใพใใ |
static <T,C extends Collection<T>> |
toCollection(Supplier<C> collectionFactory) |
ๅ
ฅๅ่ฆ็ด ใๆคๅบ้ ใซๆฐใใ
Collectionๅ
ใซ่็ฉใใCollectorใ่ฟใใพใใ |
static <T,K,U> Collector<T,?,ConcurrentMap<K,U>> |
toConcurrentMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper) |
ConcurrentMapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใไธฆ่กCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ |
static <T,K,U> Collector<T,?,ConcurrentMap<K,U>> |
toConcurrentMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper, BinaryOperator<U> mergeFunction) |
ConcurrentMapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใไธฆ่กCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ |
static <T,K,U,M extends ConcurrentMap<K,U>> |
toConcurrentMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapSupplier) |
ConcurrentMapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใไธฆ่กCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ |
static <T> Collector<T,?,List<T>> |
toList() |
ๅ
ฅๅ่ฆ็ด ใๆฐใใ
Listใซ่็ฉใใCollectorใ่ฟใใพใใ |
static <T,K,U> Collector<T,?,Map<K,U>> |
toMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper) |
Mapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ |
static <T,K,U> Collector<T,?,Map<K,U>> |
toMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper, BinaryOperator<U> mergeFunction) |
Mapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ |
static <T,K,U,M extends Map<K,U>> |
toMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapSupplier) |
Mapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ |
static <T> Collector<T,?,Set<T>> |
toSet() |
ๅ
ฅๅ่ฆ็ด ใๆฐใใ
Setใซ่็ฉใใCollectorใ่ฟใใพใใ |
public static <T,C extends Collection<T>> Collector<T,?,C> toCollection(Supplier<C> collectionFactory)
Collectionๅ
ใซ่็ฉใใCollectorใ่ฟใใพใใ Collectionใฏๆๅฎใใใใใกใฏใใชใซใใฃใฆไฝๆใใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅC - ็ตๆใจใชใCollectionใฎๅcollectionFactory - ้ฉๅใชๅใฎๆฐใใ็ฉบใฎCollectionใ่ฟใSupplierCollectionๅ
ใซ้ใใCollectorpublic static <T> Collector<T,?,List<T>> toList()
Listใซ่็ฉใใCollectorใ่ฟใใพใใ ่ฟใใใListใฎๅใๅฏๅคๆงใ็ดๅๅๅฏ่ฝๆงใใพใใฏในใฌใใๅฎๅ
จๆงใฏไธๅไฟ่จผใใใพใใใ่ฟใใใListใใใ็ดฐใใๅถๅพกใใๅฟ
่ฆใใใๅ ดๅใฏใtoCollection(Supplier)ใไฝฟ็จใใฆใใ ใใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅListๅ
ใซ้ใใCollectorpublic static <T> Collector<T,?,Set<T>> toSet()
Setใซ่็ฉใใCollectorใ่ฟใใพใใ ่ฟใใใSetใฎๅใๅฏๅคๆงใ็ดๅๅๅฏ่ฝๆงใใพใใฏในใฌใใๅฎๅ
จๆงใฏไธๅไฟ่จผใใใพใใใ่ฟใใใSetใใใ็ดฐใใๅถๅพกใใๅฟ
่ฆใใใๅ ดๅใฏใtoCollection(Supplier)ใไฝฟ็จใใฆใใ ใใใ
ใใใฏใ้ ๅบไปใใใใฆใใชใCollectorใงใใ
T - ๅ
ฅๅ่ฆ็ด ใฎๅSetๅ
ใซ้ใใCollectorpublic static Collector<CharSequence,?,String> joining()
StringใซใใCollectorใ่ฟใใพใใStringใซใใCollectorpublic static Collector<CharSequence,?,String> joining(CharSequence delimiter)
Collectorใ่ฟใใพใใdelimiter - ๅ่ฆ็ด ้ใงไฝฟ็จใใใๅบๅใๆๅญCollectorpublic static Collector<CharSequence,?,String> joining(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
Collectorใ่ฟใใพใใdelimiter - ๅ่ฆ็ด ้ใงไฝฟ็จใใใๅบๅใๆๅญprefix - ้ฃ็ต็ตๆใฎๅ
้ ญใงไฝฟ็จใใใๆๅญใทใผใฑใณในsuffix - ้ฃ็ต็ตๆใฎๆซๅฐพใงไฝฟ็จใใใๆๅญใทใผใฑใณในCollectorpublic static <T,U,A,R> Collector<T,?,R> mapping(Function<? super T,? extends U> mapper, Collector<? super U,A,R> downstream)
Uๅใฎ่ฆ็ด ใๅใๅใCollectorใTๅใฎ่ฆ็ด ใๅใๅใใใใใซ้ฉๅฟใใใใใใๅๅ
ฅๅ่ฆ็ด ใซใใใใณใฐ้ขๆฐใ้ฉ็จใใๅพใง่็ฉใ่กใใใใซใใพใใmapping()ใณใฌใฏใฟใใใฃใจใๅฝนใซ็ซใคใฎใฏใ่คๆฐใฌใใซใฎใชใใฏใทใงใณ(groupingByใพใใฏpartitioningByใฎไธๆตใชใฉ)ใงไฝฟ็จใใๅ ดๅใงใใ ใใจใใฐใ็นๅฎใฎPersonในใใชใผใ ใซใคใใฆใๅธ็บๆใใจใซๅๅใฎใปใใใ่็ฉใใใซใฏใๆฌกใฎใใใซใใพใใ
Map<City, Set<String>> lastNamesByCity
= people.stream().collect(groupingBy(Person::getCity,
mapping(Person::getLastName, toSet())));
T - ๅ
ฅๅ่ฆ็ด ใฎๅU - ไธๆตใณใฌใฏใฟใๅใๅใ่ฆ็ด ใฎๅA - ไธๆตใณใฌใฏใฟใฎไธญ้่็ฉใฎๅR - ใณใฌใฏใฟใฎ็ตๆใฎๅmapper - ๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใใ้ขๆฐdownstream - ใใใๅพใฎๅคใๅใๅใใณใฌใฏใฟpublic static <T,A,R,RR> Collector<T,A,RR> collectingAndThen(Collector<T,A,R> downstream, Function<R,RR> finisher)
Collectorใ้ฉๅฟใใใพใใ ใใจใใฐๆฌกใฎใใใซใๅธธใซไธๅคใชในใใ็ๆใใใใใใซtoList()ใณใฌใฏใฟใ้ฉๅฟใใใใใจใใงใใพใใ
List<String> people
= people.stream().collect(collectingAndThen(toList(), Collections::unmodifiableList));
T - ๅ
ฅๅ่ฆ็ด ใฎๅA - ไธๆตใณใฌใฏใฟใฎไธญ้่็ฉใฎๅR - ไธๆตใณใฌใฏใฟใฎ็ตๆใฎๅRR - ็ตๆใจใชใใณใฌใฏใฟใฎ็ตๆใฎๅdownstream - ใณใฌใฏใฟfinisher - ไธๆตใณใฌใฏใฟใฎๆ็ต็ตๆใซ้ฉ็จใใใ้ขๆฐpublic static <T> Collector<T,?,Long> counting()
Tๅใฎ่ฆ็ด ใๅใๅใฃใฆๅ
ฅๅ่ฆ็ด ใฎๆฐใใซใฆใณใใใCollectorใ่ฟใใพใใ ่ฆ็ด ใๅญๅจใใชใๅ ดๅใ็ตๆใฏ0ใซใชใใพใใ
reducing(0L, e -> 1L, Long::sum)
T - ๅ
ฅๅ่ฆ็ด ใฎๅCollectorpublic static <T> Collector<T,?,Optional<T>> minBy(Comparator<? super T> comparator)
ComparatorใซๅพใฃใฆOptional<T>ใจใใฆ่จ่ฟฐใใใๆๅฐ่ฆ็ด ใ็ๆใใCollectorใ่ฟใใพใใ
reducing(BinaryOperator.minBy(comparator))
T - ๅ
ฅๅ่ฆ็ด ใฎๅcomparator - ่ฆ็ด ใๆฏ่ผใใใใใฎComparatorCollectorpublic static <T> Collector<T,?,Optional<T>> maxBy(Comparator<? super T> comparator)
ComparatorใซๅพใฃใฆOptional<T>ใจใใฆ่จ่ฟฐใใใๆๅคง่ฆ็ด ใ็ๆใใCollectorใ่ฟใใพใใ
reducing(BinaryOperator.maxBy(comparator))
T - ๅ
ฅๅ่ฆ็ด ใฎๅcomparator - ่ฆ็ด ใๆฏ่ผใใใใใฎComparatorCollectorpublic static <T> Collector<T,?,Integer> summingInt(ToIntFunction<? super T> mapper)
Collectorใ่ฟใใพใใ ่ฆ็ด ใๅญๅจใใชใๅ ดๅใ็ตๆใฏ0ใซใชใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่จใฎๅฏพ่ฑกใจใชใใใญใใใฃใผใๆฝๅบใใ้ขๆฐCollectorpublic static <T> Collector<T,?,Long> summingLong(ToLongFunction<? super T> mapper)
Collectorใ่ฟใใพใใ ่ฆ็ด ใๅญๅจใใชใๅ ดๅใ็ตๆใฏ0ใซใชใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่จใฎๅฏพ่ฑกใจใชใใใญใใใฃใผใๆฝๅบใใ้ขๆฐCollectorpublic static <T> Collector<T,?,Double> summingDouble(ToDoubleFunction<? super T> mapper)
Collectorใ่ฟใใพใใ ่ฆ็ด ใๅญๅจใใชใๅ ดๅใ็ตๆใฏ0ใซใชใใพใใ
ๅคใ่จ้ฒใใใฆใใ้ ็ชใซใใฃใฆใ่ฟใใใๅ่จใๅคใใๅฏ่ฝๆงใใใใพใใใใใใฏใ็ฐใชใๅคงใใใฎๅคๅๅฃซใๅ ็ฎใใใจใใฎไธธใ่ชคๅทฎใ็ดฏ็ฉใใใใใใงใใ ๅคใๅคงใใใฎ็ตถๅฏพๅคใฎๆ้ ใซใฝใผใใใใจใ็ตๆใฎ็ฒพๅบฆใๆนๅใใใๅพๅใใใใพใใ ่จ้ฒใใใๅคใฎไธญใซNaNใฎใใฎใๅญๅจใใฆใใใใๅ่จใใใๆ็นใงNaNใซ้ใใๅ ดๅใๅ่จใฏNaNใซใชใใพใใ
T - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่จใฎๅฏพ่ฑกใจใชใใใญใใใฃใผใๆฝๅบใใ้ขๆฐCollectorpublic static <T> Collector<T,?,Double> averagingInt(ToIntFunction<? super T> mapper)
Collectorใ่ฟใใพใใ ่ฆ็ด ใๅญๅจใใชใๅ ดๅใ็ตๆใฏ0ใซใชใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่จใฎๅฏพ่ฑกใจใชใใใญใใใฃใผใๆฝๅบใใ้ขๆฐCollectorpublic static <T> Collector<T,?,Double> averagingLong(ToLongFunction<? super T> mapper)
Collectorใ่ฟใใพใใ ่ฆ็ด ใๅญๅจใใชใๅ ดๅใ็ตๆใฏ0ใซใชใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่จใฎๅฏพ่ฑกใจใชใใใญใใใฃใผใๆฝๅบใใ้ขๆฐCollectorpublic static <T> Collector<T,?,Double> averagingDouble(ToDoubleFunction<? super T> mapper)
Collectorใ่ฟใใพใใ ่ฆ็ด ใๅญๅจใใชใๅ ดๅใ็ตๆใฏ0ใซใชใใพใใ
ๅคใ่จ้ฒใใใฆใใ้ ็ชใซใใฃใฆใ่ฟใใใๅนณๅใๅคใใๅฏ่ฝๆงใใใใพใใใใใใฏใ็ฐใชใๅคงใใใฎๅคๅๅฃซใๅ ็ฎใใใจใใฎไธธใ่ชคๅทฎใ็ดฏ็ฉใใใใใใงใใ ๅคใๅคงใใใฎ็ตถๅฏพๅคใฎๆ้ ใซใฝใผใใใใจใ็ตๆใฎ็ฒพๅบฆใๆนๅใใใๅพๅใใใใพใใ ่จ้ฒใใใๅคใฎไธญใซNaNใฎใใฎใๅญๅจใใฆใใใใๅ่จใใใๆ็นใงNaNใซ้ใใๅ ดๅใๅนณๅใฏNaNใซใชใใพใใ
doubleใใฉใผใใใใฏใ-253ใใ253ใฎ็ฏๅฒใฎใในใฆใฎ้ฃ็ถใใๆดๆฐใ่กจ็พใงใใพใใ ใใคใใฉใคใณใซๅซใพใใๅคใฎๆฐใ253ๅใ่ถ
ใใๅ ดๅใๅนณๅ่จ็ฎใฎ้คๆฐใ253ใง้ฃฝๅใใใใใใใใชใๆฐๅค่ชคๅทฎใ็บ็ใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่จใฎๅฏพ่ฑกใจใชใใใญใใใฃใผใๆฝๅบใใ้ขๆฐCollectorpublic static <T> Collector<T,?,T> reducing(T identity, BinaryOperator<T> op)
BinaryOperatorใฎไธใงๆๅฎใใใๅไฝๅ
ใไฝฟใฃใฆๅ
ฅๅ่ฆ็ด ใฎใชใใฏใทใงใณใๅฎ่กใใCollectorใ่ฟใใพใใreducing()ใณใฌใฏใฟใใใฃใจใๅฝนใซ็ซใคใฎใฏใ่คๆฐใฌใใซใฎใชใใฏใทใงใณ(groupingByใพใใฏpartitioningByใฎไธๆต)ใงไฝฟ็จใใๅ ดๅใงใใ ในใใชใผใ ใซๅฏพใใฆๅ็ดใชใชใใฏใทใงใณใๅฎ่กใใๅ ดๅใฏใไปฃใใใซStream.reduce(Object, BinaryOperator)ใไฝฟ็จใใฆใใ ใใใ T - ใชใใฏใทใงใณใฎๅ
ฅๅใจๅบๅใฎ่ฆ็ด ใฎๅidentity - ใชใใฏใทใงใณใฎๅไฝๅ
ใฎๅค(ๅ
ฅๅ่ฆ็ด ใๅญๅจใใชใๅ ดๅใฎๆปใๅคใงใใใ)op - ๅ
ฅๅ่ฆ็ด ใฎใชใใฅใผในใซไฝฟ็จใใใBinaryOperator<T>Collectorreducing(BinaryOperator), reducing(Object, Function, BinaryOperator)public static <T> Collector<T,?,Optional<T>> reducing(BinaryOperator<T> op)
BinaryOperatorใฎไธใงๅ
ฅๅ่ฆ็ด ใฎใชใใฏใทใงใณใๅฎ่กใใCollectorใ่ฟใใพใใ ็ตๆใฏOptional<T>ใจใใฆ่จ่ฟฐใใใพใใ reducing()ใณใฌใฏใฟใใใฃใจใๅฝนใซ็ซใคใฎใฏใ่คๆฐใฌใใซใฎใชใใฏใทใงใณ(groupingByใพใใฏpartitioningByใฎไธๆต)ใงไฝฟ็จใใๅ ดๅใงใใ ๅ็ดใชใชใใฏใทใงใณใในใใชใผใ ใซๅฏพใใฆๅฎ่กใใๅ ดๅใฏใไปฃใใใซStream.reduce(BinaryOperator)ใไฝฟ็จใใฆใใ ใใใ
ใใจใใฐใ็นๅฎใฎPersonในใใชใผใ ใซใคใใฆใๅธ็บๆใใจใซ่บซ้ทใฎใใฃใจใ้ซใไบบใ่จ็ฎใใใซใฏใๆฌกใฎใใใซใใพใใ
Comparator<Person> byHeight = Comparator.comparing(Person::getHeight);
Map<City, Person> tallestByCity
= people.stream().collect(groupingBy(Person::getCity, reducing(BinaryOperator.maxBy(byHeight))));
T - ใชใใฏใทใงใณใฎๅ
ฅๅใจๅบๅใฎ่ฆ็ด ใฎๅop - ๅ
ฅๅ่ฆ็ด ใฎใชใใฅใผในใซไฝฟ็จใใใBinaryOperator<T>Collectorreducing(Object, BinaryOperator), reducing(Object, Function, BinaryOperator)public static <T,U> Collector<T,?,U> reducing(U identity, Function<? super T,? extends U> mapper, BinaryOperator<U> op)
BinaryOperatorใฎไธใงๅ
ฅๅ่ฆ็ด ใฎใชใใฏใทใงใณใๅฎ่กใใCollectorใ่ฟใใพใใ ใใใฏreducing(Object, BinaryOperator)ใไธ่ฌๅใใใใฎใงใใใใชใใฏใทใงใณใฎๅใฎ่ฆ็ด ใฎๅคๆใๅฏ่ฝใซใใพใใ reducing()ใณใฌใฏใฟใใใฃใจใๅฝนใซ็ซใคใฎใฏใ่คๆฐใฌใใซใฎใชใใฏใทใงใณ(groupingByใพใใฏpartitioningByใฎไธๆต)ใงไฝฟ็จใใๅ ดๅใงใใ ๅ็ดใชใใใ-ใชใใฅใผในใในใใชใผใ ใซๅฏพใใฆๅฎ่กใใๅ ดๅใฏใไปฃใใใซStream.map(Function)ใจStream.reduce(Object, BinaryOperator)ใไฝฟ็จใใฆใใ ใใใ
ใใจใใฐใ็นๅฎใฎPersonในใใชใผใ ใซใคใใฆใๅธ็บๆใใจใซไฝๆฐใฎๆ้ทใฎๅๅใ่จ็ฎใใใซใฏใๆฌกใฎใใใซใใพใใ
Comparator<String> byLength = Comparator.comparing(String::length);
Map<City, String> longestLastNameByCity
= people.stream().collect(groupingBy(Person::getCity,
reducing(Person::getLastName, BinaryOperator.maxBy(byLength))));
T - ๅ
ฅๅ่ฆ็ด ใฎๅU - ใใใๅพใฎๅคใฎๅidentity - ใชใใฏใทใงใณใฎๅไฝๅ
ใฎๅค(ๅ
ฅๅ่ฆ็ด ใๅญๅจใใชใๅ ดๅใฎๆปใๅคใงใใใ)mapper - ๅๅ
ฅๅๅคใซ้ฉ็จใใใใใใณใฐ้ขๆฐop - ใใใใใใๅคใฎใชใใฅใผในใซไฝฟ็จใใใBinaryOperator<U>Collectorreducing(Object, BinaryOperator), reducing(BinaryOperator)public static <T,K> Collector<T,?,Map<K,List<T>>> groupingBy(Function<? super T,? extends K> classifier)
Mapใซๆ ผ็ดใใฆ่ฟใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใCollectorใ่ฟใใพใใ
ๅ้ก้ขๆฐใฏใ่ฆ็ด ใใใใญใผใฎๅKใซใใใใใพใใ ใณใฌใฏใฟใซใใฃใฆ็ๆใใใMap<K, List<T>>ใฎใญใผใฏใๅ
ฅๅ่ฆ็ด ใซๅ้ก้ขๆฐใ้ฉ็จใใ็ตๆใฎๅคใงใใใๅฏพๅฟใใๅคใฏใๅ้ก้ขๆฐใฎไธใง้ข้ฃใญใผใซใใใใใใๅ
ฅๅ่ฆ็ด ใๅซใListใซใชใใพใใ
่ฟใใใMapใพใใฏListใชใใธใงใฏใใฎๅใๅฏๅคๆงใ็ดๅๅๅฏ่ฝๆงใใพใใฏในใฌใใๅฎๅ
จๆงใฏไธๅไฟ่จผใใใพใใใ
groupingBy(classifier, toList());
Collectorใฏไธฆ่กใงใฏใใใพใใใ ไธฆๅในใใชใผใ ใปใใคใใฉใคใณใงใฏใcombiner้ขๆฐใฏใใใใใใฎใญใผใๅฅใฎใใใใซใใผใธใใใใจใซใใๅไฝใใพใใใใใฎๆไฝใฏใณในใใ้ๅธธใซ้ซใใชใๅฏ่ฝๆงใใใใพใใ ็ตๆใฎMapใณใฌใฏใฟใง่ฆ็ด ใฎๅบ็พ้ ๅบใ็ถญๆใใๅฟ
่ฆใใชใๅ ดๅใgroupingByConcurrent(Function)ใไฝฟ็จใใใใจใงไธฆๅๅฆ็ใฎใใใฉใผใใณในใๆนๅใใใๅฏ่ฝๆงใใใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใฎๅclassifier - ๅ
ฅๅ่ฆ็ด ใใญใผใซใใใใใๅ้ก้ขๆฐCollectorgroupingBy(Function, Collector), groupingBy(Function, Supplier, Collector), groupingByConcurrent(Function)public static <T,K,A,D> Collector<T,?,Map<K,D>> groupingBy(Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
Collectorใไฝฟใฃใฆ็นๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใฎใชใใฏใทใงใณๆไฝใๅฎ่กใใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใซในใฑใผใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใCollectorใ่ฟใใพใใ
ๅ้ก้ขๆฐใฏใ่ฆ็ด ใใใใญใผใฎๅKใซใใใใใพใใ ไธๆตใณใฌใฏใฟใฏใTๅใฎ่ฆ็ด ใซไฝ็จใใฆDๅใฎ็ตๆใ็ๆใใพใใ ็ตๆใจใชใใณใฌใฏใฟใฏใMap<K, D>ใ็ๆใใพใใ
่ฟใใใMapใฎๅใๅฏๅคๆงใ็ดๅๅๅฏ่ฝๆงใใพใใฏในใฌใใๅฎๅ
จๆงใฏไธๅไฟ่จผใใใพใใใ
ใใจใใฐใๅธ็บๆใใจใฎไบบใฎๅๅใฎใปใใใ่จ็ฎใใใซใฏใๆฌกใฎใใใซใใพใใ
Map<City, Set<String>> namesByCity
= people.stream().collect(groupingBy(Person::getCity,
mapping(Person::getLastName, toSet())));
Collectorใฏไธฆ่กใงใฏใใใพใใใ ไธฆๅในใใชใผใ ใปใใคใใฉใคใณใงใฏใcombiner้ขๆฐใฏใใใใใใฎใญใผใๅฅใฎใใใใซใใผใธใใใใจใซใใๅไฝใใพใใใใใฎๆไฝใฏใณในใใ้ๅธธใซ้ซใใชใๅฏ่ฝๆงใใใใพใใ ไธๆตใณใฌใฏใฟใซ่ฆ็ด ใๆไพใใใ้ ๅบใ็ถญๆใใๅฟ
่ฆใใชใๅ ดๅใgroupingByConcurrent(Function, Collector)ใไฝฟ็จใใใใจใงไธฆๅๅฆ็ใฎใใใฉใผใใณในใๆนๅใใใๅฏ่ฝๆงใใใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใฎๅA - ไธๆตใณใฌใฏใฟใฎไธญ้่็ฉใฎๅD - ไธๆตใชใใฏใทใงใณใฎ็ตๆใฎๅclassifier - ๅ
ฅๅ่ฆ็ด ใใญใผใซใใใใใๅ้ก้ขๆฐdownstream - ไธๆตใชใใฏใทใงใณใๅฎ่ฃ
ใใCollectorCollectorgroupingBy(Function), groupingBy(Function, Supplier, Collector), groupingByConcurrent(Function, Collector)public static <T,K,D,A,M extends Map<K,D>> Collector<T,?,M> groupingBy(Function<? super T,? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,A,D> downstream)
Collectorใไฝฟใฃใฆ็นๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใฎใชใใฏใทใงใณๆไฝใๅฎ่กใใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใซในใฑใผใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใCollectorใ่ฟใใพใใ ใใฎCollectorใง็ๆใใใMapใฏใๆๅฎใใใใใกใฏใใช้ขๆฐใซใใฃใฆไฝๆใใใพใใ
ๅ้ก้ขๆฐใฏใ่ฆ็ด ใใใใญใผใฎๅKใซใใใใใพใใ ไธๆตใณใฌใฏใฟใฏใTๅใฎ่ฆ็ด ใซไฝ็จใใฆDๅใฎ็ตๆใ็ๆใใพใใ ็ตๆใจใชใใณใฌใฏใฟใฏใMap<K, D>ใ็ๆใใพใใ
ใใจใใฐใๅธ็บๆใใจใฎไบบใฎๅๅใฎใปใใ(ๅธ็บๆๅใใฝใผใใใใ)ใ่จ็ฎใใใซใฏใๆฌกใฎใใใซใใพใใ
Map<City, Set<String>> namesByCity
= people.stream().collect(groupingBy(Person::getCity, TreeMap::new,
mapping(Person::getLastName, toSet())));
Collectorใฏไธฆ่กใงใฏใใใพใใใ ไธฆๅในใใชใผใ ใปใใคใใฉใคใณใงใฏใcombiner้ขๆฐใฏใใใใใใฎใญใผใๅฅใฎใใใใซใใผใธใใใใจใซใใๅไฝใใพใใใใใฎๆไฝใฏใณในใใ้ๅธธใซ้ซใใชใๅฏ่ฝๆงใใใใพใใ ไธๆตใณใฌใฏใฟใซ่ฆ็ด ใๆไพใใใ้ ๅบใ็ถญๆใใๅฟ
่ฆใใชใๅ ดๅใgroupingByConcurrent(Function, Supplier, Collector)ใไฝฟ็จใใใใจใงไธฆๅๅฆ็ใฎใใใฉใผใใณในใๆนๅใใใๅฏ่ฝๆงใใใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใฎๅA - ไธๆตใณใฌใฏใฟใฎไธญ้่็ฉใฎๅD - ไธๆตใชใใฏใทใงใณใฎ็ตๆใฎๅM - ็ตๆใจใชใMapใฎๅclassifier - ๅ
ฅๅ่ฆ็ด ใใญใผใซใใใใใๅ้ก้ขๆฐdownstream - ไธๆตใชใใฏใทใงใณใๅฎ่ฃ
ใใCollectormapFactory - ๅผๅบใๆใซใ่ฆๆฑใใใๅใฎๆฐใใ็ฉบใฎMapใ็ๆใใ้ขๆฐCollectorgroupingBy(Function, Collector), groupingBy(Function), groupingByConcurrent(Function, Supplier, Collector)public static <T,K> Collector<T,?,ConcurrentMap<K,List<T>>> groupingByConcurrent(Function<? super T,? extends K> classifier)
Tๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใไธฆ่กCollectorใ่ฟใใพใใ
ใใใฏใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollectorใงใใ
ๅ้ก้ขๆฐใฏใ่ฆ็ด ใใใใญใผใฎๅKใซใใใใใพใใ ใณใฌใฏใฟใซใใฃใฆ็ๆใใใConcurrentMap<K, List<T>>ใฎใญใผใฏใๅ
ฅๅ่ฆ็ด ใซๅ้ก้ขๆฐใ้ฉ็จใใ็ตๆใฎๅคใงใใใๅฏพๅฟใใๅคใฏใๅ้ก้ขๆฐใฎไธใง้ข้ฃใญใผใซใใใใใใๅ
ฅๅ่ฆ็ด ใๅซใListใซใชใใพใใ
่ฟใใใMapใพใใฏListใชใใธใงใฏใใฎๅใๅฏๅคๆงใใพใใฏ็ดๅๅๅฏ่ฝๆงใใใใใฏ่ฟใใใListใชใใธใงใฏใใฎในใฌใใๅฎๅ
จๆงใฏใไธๅไฟ่จผใใใพใใใ
groupingByConcurrent(classifier, toList());
T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใฎๅclassifier - ๅ
ฅๅ่ฆ็ด ใใญใผใซใใใใใๅ้ก้ขๆฐCollectorgroupingBy(Function), groupingByConcurrent(Function, Collector), groupingByConcurrent(Function, Supplier, Collector)public static <T,K,A,D> Collector<T,?,ConcurrentMap<K,D>> groupingByConcurrent(Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
Collectorใไฝฟใฃใฆ็นๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใฎใชใใฏใทใงใณๆไฝใๅฎ่กใใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใซในใฑใผใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใไธฆ่กCollectorใ่ฟใใพใใ
ใใใฏใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollectorใงใใ
ๅ้ก้ขๆฐใฏใ่ฆ็ด ใใใใญใผใฎๅKใซใใใใใพใใ ไธๆตใณใฌใฏใฟใฏใTๅใฎ่ฆ็ด ใซไฝ็จใใฆDๅใฎ็ตๆใ็ๆใใพใใ ็ตๆใจใชใใณใฌใฏใฟใฏใMap<K, D>ใ็ๆใใพใใ
ใใจใใฐใๅธ็บๆใใจใฎไบบใฎๅๅใฎใปใใ(ๅธ็บๆๅใใฝใผใใใใ)ใ่จ็ฎใใใซใฏใๆฌกใฎใใใซใใพใใ
ConcurrentMap<City, Set<String>> namesByCity
= people.stream().collect(groupingByConcurrent(Person::getCity,
mapping(Person::getLastName, toSet())));
T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใฎๅA - ไธๆตใณใฌใฏใฟใฎไธญ้่็ฉใฎๅD - ไธๆตใชใใฏใทใงใณใฎ็ตๆใฎๅclassifier - ๅ
ฅๅ่ฆ็ด ใใญใผใซใใใใใๅ้ก้ขๆฐdownstream - ไธๆตใชใใฏใทใงใณใๅฎ่ฃ
ใใCollectorCollectorgroupingBy(Function, Collector), groupingByConcurrent(Function), groupingByConcurrent(Function, Supplier, Collector)public static <T,K,A,D,M extends ConcurrentMap<K,D>> Collector<T,?,M> groupingByConcurrent(Function<? super T,? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,A,D> downstream)
Collectorใไฝฟใฃใฆ็นๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใฎใชใใฏใทใงใณๆไฝใๅฎ่กใใใTๅใฎๅ
ฅๅ่ฆ็ด ใซๅฏพใใใซในใฑใผใใใฐใซใผใๅใๆไฝใๅฎ่ฃ
ใใไธฆ่กCollectorใ่ฟใใพใใ ใใฎCollectorใง็ๆใใใConcurrentMapใฏใๆๅฎใใใใใกใฏใใช้ขๆฐใซใใฃใฆไฝๆใใใพใใ
ใใใฏใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollectorใงใใ
ๅ้ก้ขๆฐใฏใ่ฆ็ด ใใใใญใผใฎๅKใซใใใใใพใใ ไธๆตใณใฌใฏใฟใฏใTๅใฎ่ฆ็ด ใซไฝ็จใใฆDๅใฎ็ตๆใ็ๆใใพใใ ็ตๆใจใชใใณใฌใฏใฟใฏใMap<K, D>ใ็ๆใใพใใ
ใใจใใฐใๅธ็บๆใใจใฎไบบใฎๅๅใฎใปใใ(ๅธ็บๆๅใใฝใผใใใใ)ใ่จ็ฎใใใซใฏใๆฌกใฎใใใซใใพใใ
ConcurrentMap<City, Set<String>> namesByCity
= people.stream().collect(groupingBy(Person::getCity, ConcurrentSkipListMap::new,
mapping(Person::getLastName, toSet())));
T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใฎๅA - ไธๆตใณใฌใฏใฟใฎไธญ้่็ฉใฎๅD - ไธๆตใชใใฏใทใงใณใฎ็ตๆใฎๅM - ็ตๆใจใชใConcurrentMapใฎๅclassifier - ๅ
ฅๅ่ฆ็ด ใใญใผใซใใใใใๅ้ก้ขๆฐdownstream - ไธๆตใชใใฏใทใงใณใๅฎ่ฃ
ใใCollectormapFactory - ๅผๅบใๆใซใ่ฆๆฑใใใๅใฎๆฐใใ็ฉบใฎConcurrentMapใ็ๆใใ้ขๆฐCollectorgroupingByConcurrent(Function), groupingByConcurrent(Function, Collector), groupingBy(Function, Supplier, Collector)public static <T> Collector<T,?,Map<Boolean,List<T>>> partitioningBy(Predicate<? super T> predicate)
Predicateใซๅพใฃใฆๅ
ฅๅ่ฆ็ด ใๅๅฒใใ็ตๆใMap<Boolean, List<T>>ๅ
ใซๆ ผ็ดใใCollectorใ่ฟใใพใใ ่ฟใใใMapใฎๅใๅฏๅคๆงใ็ดๅๅๅฏ่ฝๆงใใพใใฏในใฌใใๅฎๅ
จๆงใฏไธๅไฟ่จผใใใพใใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅpredicate - ๅ
ฅๅ่ฆ็ด ใฎๅ้กใซไฝฟ็จใใใ่ฟฐ่ชCollectorpartitioningBy(Predicate, Collector)public static <T,D,A> Collector<T,?,Map<Boolean,D>> partitioningBy(Predicate<? super T> predicate, Collector<? super T,A,D> downstream)
Predicateใซๅพใฃใฆๅ
ฅๅ่ฆ็ด ใๅๅฒใใๅฅใฎCollectorใซๅพใฃใฆๅใใผใใฃใทใงใณใฎๅคใใชใใฅใผในใใ็ตๆใMap<Boolean, D>ๅ
ใซๆ ผ็ดใใCollectorใ่ฟใใพใ(ไธๆตใฎใชใใฏใทใงใณใฎ็ตๆใใใใใฎๅคใซใชใ)ใ
่ฟใใใMapใฎๅใๅฏๅคๆงใ็ดๅๅๅฏ่ฝๆงใใพใใฏในใฌใใๅฎๅ
จๆงใฏไธๅไฟ่จผใใใพใใใ
T - ๅ
ฅๅ่ฆ็ด ใฎๅA - ไธๆตใณใฌใฏใฟใฎไธญ้่็ฉใฎๅD - ไธๆตใชใใฏใทใงใณใฎ็ตๆใฎๅpredicate - ๅ
ฅๅ่ฆ็ด ใฎๅ้กใซไฝฟ็จใใใ่ฟฐ่ชdownstream - ไธๆตใชใใฏใทใงใณใๅฎ่ฃ
ใใCollectorCollectorpartitioningBy(Predicate)public static <T,K,U> Collector<T,?,Map<K,U>> toMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper)
Mapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ
ใใใๅ
ใฎใญใผใ้่คใใๅ ดๅ(Object.equals(Object)ใงๅคๅฎ)ใใณใฌใฏใทใงใณๆไฝใฎๅฎ่กๆใซIllegalStateExceptionใในใญใผใใใพใใ ใใใๅ
ใฎใญใผใ้่คใใๅฏ่ฝๆงใใใๅ ดๅใฏใไปฃใใใซtoMap(Function, Function, BinaryOperator)ใไฝฟ็จใใฆใใ ใใใ
Function.identity()ใๅฝน็ซใคๅฏ่ฝๆงใใใใพใใ ใใจใใฐๆฌกใฎๅ ดๅใ็ๅพใๅ่ชใฎๆ็ธพ่ฉๅฎๅนณๅๅคใซใใใใณใฐใใMapใ็ๆใใใพใใ
Map<Student, Double> studentToGPA
students.stream().collect(toMap(Functions.identity(),
student -> computeGPA(student)));
ใพใๆฌกใฎๅ ดๅใไธๆใฎ่ญๅฅๅญใ็ๅพใซใใใใณใฐใใMapใ็ๆใใใพใใ
Map<String, Student> studentIdToStudent
students.stream().collect(toMap(Student::getId,
Functions.identity());
Collectorใฏไธฆ่กใงใฏใใใพใใใ ไธฆๅในใใชใผใ ใปใใคใใฉใคใณใงใฏใcombiner้ขๆฐใฏใใใใใใฎใญใผใๅฅใฎใใใใซใใผใธใใใใจใซใใๅไฝใใพใใใใใฎๆไฝใฏใณในใใ้ๅธธใซ้ซใใชใๅฏ่ฝๆงใใใใพใใ ็ตๆใๆคๅบ้ ใงMapใซๆฟๅ
ฅใใๅฟ
่ฆใใชใๅ ดๅใฏใtoConcurrentMap(Function, Function)ใไฝฟ็จใใใใจใงไธฆๅๅฆ็ใฎใใใฉใผใใณในใๆนๅใใใๅฏ่ฝๆงใใใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใปใใใใณใฐ้ขๆฐใฎๅบๅใฎๅU - ๅคใใใใณใฐ้ขๆฐใฎๅบๅใฎๅkeyMapper - ใญใผใ็ๆใใใใใใณใฐ้ขๆฐvalueMapper - ๅคใ็ๆใใใใใใณใฐ้ขๆฐMapๅ
ใซ่ฆ็ด ใ้ใใCollector(ใใใใฎใญใผใจๅคใฏใๅ
ฅๅ่ฆ็ด ใซใใใใณใฐ้ขๆฐใ้ฉ็จใใ็ตๆใจใชใ)toMap(Function, Function, BinaryOperator), toMap(Function, Function, BinaryOperator, Supplier), toConcurrentMap(Function, Function)public static <T,K,U> Collector<T,?,Map<K,U>> toMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper, BinaryOperator<U> mergeFunction)
Mapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ
ใใใๅ
ใฎใญใผใ้่คใใฆใใๅ ดๅ(Object.equals(Object)ใงๅคๅฎ)ใ็ญใใๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใใใใใใฎ็ตๆใๆๅฎใใใใใผใธ้ขๆฐใไฝฟใฃใฆใใผใธใใใพใใ
toMapใงใฏใใ ็กๆกไปถใซในใญใผใ่กใใใผใธ้ขๆฐใไฝฟ็จใใใพใใใใใๆ่ปใชใใผใธใใชใทใผใ็ฐกๅใซ่จ่ฟฐใงใใพใใ ใใจใใฐใใใPersonในใใชใผใ ใใใใจใใฆใๅๅใจไฝๆใๅฏพๅฟใฅใใ้ป่ฉฑๅธณใ็ๆใใใใใๅใๅๅใฎไบบใ่คๆฐๅญๅจใใๅฏ่ฝๆงใใใๅ ดๅใๆฌกใฎใใใซใใใฐใใใใใ่ก็ชใ้ฉๅใซๅฆ็ใใๅๅใ้ฃ็ตใใใไฝๆใชในใใซใใใใณใฐใใMapใ็ๆใใใใจใใงใใพใใ
Map<String, String> phoneBook
people.stream().collect(toMap(Person::getName,
Person::getAddress,
(s, a) -> s + ", " + a));
Collectorใฏไธฆ่กใงใฏใใใพใใใ ไธฆๅในใใชใผใ ใปใใคใใฉใคใณใงใฏใcombiner้ขๆฐใฏใใใใใใฎใญใผใๅฅใฎใใใใซใใผใธใใใใจใซใใๅไฝใใพใใใใใฎๆไฝใฏใณในใใ้ๅธธใซ้ซใใชใๅฏ่ฝๆงใใใใพใใ ็ตๆใๆคๅบ้ ใงMapใซใใผใธใใๅฟ
่ฆใใชใๅ ดๅใฏใtoConcurrentMap(Function, Function, BinaryOperator)ใไฝฟ็จใใใใจใงไธฆๅๅฆ็ใฎใใใฉใผใใณในใๆนๅใใใๅฏ่ฝๆงใใใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใปใใใใณใฐ้ขๆฐใฎๅบๅใฎๅU - ๅคใใใใณใฐ้ขๆฐใฎๅบๅใฎๅkeyMapper - ใญใผใ็ๆใใใใใใณใฐ้ขๆฐvalueMapper - ๅคใ็ๆใใใใใใณใฐ้ขๆฐmergeFunction - ๅใใญใผใซ้ข้ฃไปใใใใๅคๅๅฃซใฎ่ก็ชใฎ่งฃๆฑบใซไฝฟ็จใใใใใผใธ้ขๆฐ(Map.merge(Object, Object, BiFunction)ใซๆธกใใใ)Mapๅ
ใซ่ฆ็ด ใ้ใใCollector(ใใใใฎใญใผใฏใๅ
ฅๅ่ฆ็ด ใซใญใผใปใใใใณใฐ้ขๆฐใ้ฉ็จใใ็ตๆใงใใใใใใใฎๅคใฏใใใฎใญใผใซ็ญใใใในใฆใฎๅ
ฅๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใใใใใใใผใธ้ขๆฐใง็ตๅใใ็ตๆใจใชใ)toMap(Function, Function), toMap(Function, Function, BinaryOperator, Supplier), toConcurrentMap(Function, Function, BinaryOperator)public static <T,K,U,M extends Map<K,U>> Collector<T,?,M> toMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapSupplier)
Mapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ
ใใใๅ
ใฎใญใผใ้่คใใฆใใๅ ดๅ(Object.equals(Object)ใงๅคๅฎ)ใ็ญใใๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใใใใใใฎ็ตๆใๆๅฎใใใใใผใธ้ขๆฐใไฝฟใฃใฆใใผใธใใใพใใ Mapใฏใๆๅฎใใใใตใใฉใคใค้ขๆฐใซใใฃใฆไฝๆใใใพใใ
Collectorใฏไธฆ่กใงใฏใใใพใใใ ไธฆๅในใใชใผใ ใปใใคใใฉใคใณใงใฏใcombiner้ขๆฐใฏใใใใใใฎใญใผใๅฅใฎใใใใซใใผใธใใใใจใซใใๅไฝใใพใใใใใฎๆไฝใฏใณในใใ้ๅธธใซ้ซใใชใๅฏ่ฝๆงใใใใพใใ ็ตๆใๆคๅบ้ ใงMapใซใใผใธใใๅฟ
่ฆใใชใๅ ดๅใฏใtoConcurrentMap(Function, Function, BinaryOperator, Supplier)ใไฝฟ็จใใใใจใงไธฆๅๅฆ็ใฎใใใฉใผใใณในใๆนๅใใใๅฏ่ฝๆงใใใใพใใ T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใปใใใใณใฐ้ขๆฐใฎๅบๅใฎๅU - ๅคใใใใณใฐ้ขๆฐใฎๅบๅใฎๅM - ็ตๆใจใชใMapใฎๅkeyMapper - ใญใผใ็ๆใใใใใใณใฐ้ขๆฐvalueMapper - ๅคใ็ๆใใใใใใณใฐ้ขๆฐmergeFunction - ๅใใญใผใซ้ข้ฃไปใใใใๅคๅๅฃซใฎ่ก็ชใฎ่งฃๆฑบใซไฝฟ็จใใใใใผใธ้ขๆฐ(Map.merge(Object, Object, BiFunction)ใซๆธกใใใ)mapSupplier - ็ตๆใฎๆฟๅ
ฅๅ
ใจใชใๆฐใใ็ฉบใฎMapใ่ฟใ้ขๆฐMapๅ
ใซ่ฆ็ด ใ้ใใCollector(ใใใใฎใญใผใฏใๅ
ฅๅ่ฆ็ด ใซใญใผใปใใใใณใฐ้ขๆฐใ้ฉ็จใใ็ตๆใงใใใใใใใฎๅคใฏใใใฎใญใผใซ็ญใใใในใฆใฎๅ
ฅๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใใใใใใใผใธ้ขๆฐใง็ตๅใใ็ตๆใจใชใ)toMap(Function, Function), toMap(Function, Function, BinaryOperator), toConcurrentMap(Function, Function, BinaryOperator, Supplier)public static <T,K,U> Collector<T,?,ConcurrentMap<K,U>> toConcurrentMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper)
ConcurrentMapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใไธฆ่กCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ
ใใใๅ
ใฎใญใผใ้่คใใๅ ดๅ(Object.equals(Object)ใงๅคๅฎ)ใใณใฌใฏใทใงใณๆไฝใฎๅฎ่กๆใซIllegalStateExceptionใในใญใผใใใพใใ ใใใๅ
ใฎใญใผใ้่คใใๅฏ่ฝๆงใใใๅ ดๅใฏใไปฃใใใซtoConcurrentMap(Function, Function, BinaryOperator)ใไฝฟ็จใใฆใใ ใใใ
Function.identity()ใๅฝน็ซใคๅฏ่ฝๆงใใใใพใใ ใใจใใฐๆฌกใฎๅ ดๅใ็ๅพใๅ่ชใฎๆ็ธพ่ฉๅฎๅนณๅๅคใซใใใใณใฐใใMapใ็ๆใใใพใใ
Map<Student, Double> studentToGPA
students.stream().collect(toMap(Functions.identity(),
student -> computeGPA(student)));
ใพใๆฌกใฎๅ ดๅใไธๆใฎ่ญๅฅๅญใ็ๅพใซใใใใณใฐใใMapใ็ๆใใใพใใ
Map<String, Student> studentIdToStudent
students.stream().collect(toConcurrentMap(Student::getId,
Functions.identity());
ใใใฏใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollectorใงใใ
T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใปใใใใณใฐ้ขๆฐใฎๅบๅใฎๅU - ๅคใใใใณใฐ้ขๆฐใฎๅบๅใฎๅkeyMapper - ใญใผใ็ๆใใใใใใณใฐ้ขๆฐvalueMapper - ๅคใ็ๆใใใใใใณใฐ้ขๆฐConcurrentMapๅ
ใซ่ฆ็ด ใ้ใใใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollector(ใใใใฎใญใผใฏใๅ
ฅๅ่ฆ็ด ใซใญใผใปใใใใณใฐ้ขๆฐใ้ฉ็จใใ็ตๆใงใใใใใใใฎๅคใฏใๅ
ฅๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใ็ตๆใจใชใ)toMap(Function, Function), toConcurrentMap(Function, Function, BinaryOperator), toConcurrentMap(Function, Function, BinaryOperator, Supplier)public static <T,K,U> Collector<T,?,ConcurrentMap<K,U>> toConcurrentMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper, BinaryOperator<U> mergeFunction)
ConcurrentMapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใไธฆ่กCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ
ใใใๅ
ใฎใญใผใ้่คใใฆใใๅ ดๅ(Object.equals(Object)ใงๅคๅฎ)ใ็ญใใๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใใใใใใฎ็ตๆใๆๅฎใใใใใผใธ้ขๆฐใไฝฟใฃใฆใใผใธใใใพใใ
toConcurrentMapใงใฏใใ ็กๆกไปถใซในใญใผใ่กใใใผใธ้ขๆฐใไฝฟ็จใใใพใใใใใๆ่ปใชใใผใธใปใใชใทใผใ็ฐกๅใซ่จ่ฟฐใงใใพใใ ใใจใใฐใใใPersonในใใชใผใ ใใใใจใใฆใๅๅใจไฝๆใๅฏพๅฟใฅใใ้ป่ฉฑๅธณใ็ๆใใใใใๅใๅๅใฎไบบใ่คๆฐๅญๅจใใๅฏ่ฝๆงใใใๅ ดๅใๆฌกใฎใใใซใใใฐใใใใใ่ก็ชใ้ฉๅใซๅฆ็ใใๅๅใ้ฃ็ตใใใไฝๆใชในใใซใใใใณใฐใใMapใ็ๆใใใใจใใงใใพใใ
Map<String, String> phoneBook
people.stream().collect(toConcurrentMap(Person::getName,
Person::getAddress,
(s, a) -> s + ", " + a));
ใใใฏใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollectorใงใใ
T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใปใใใใณใฐ้ขๆฐใฎๅบๅใฎๅU - ๅคใใใใณใฐ้ขๆฐใฎๅบๅใฎๅkeyMapper - ใญใผใ็ๆใใใใใใณใฐ้ขๆฐvalueMapper - ๅคใ็ๆใใใใใใณใฐ้ขๆฐmergeFunction - ๅใใญใผใซ้ข้ฃไปใใใใๅคๅๅฃซใฎ่ก็ชใฎ่งฃๆฑบใซไฝฟ็จใใใใใผใธ้ขๆฐ(Map.merge(Object, Object, BiFunction)ใซๆธกใใใ)ConcurrentMapๅ
ใซ่ฆ็ด ใ้ใใใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollector(ใใใใฎใญใผใฏใๅ
ฅๅ่ฆ็ด ใซใญใผใปใใใใณใฐ้ขๆฐใ้ฉ็จใใ็ตๆใงใใใใใใใฎๅคใฏใใใฎใญใผใซ็ญใใใในใฆใฎๅ
ฅๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใใใใใใใผใธ้ขๆฐใง็ตๅใใ็ตๆใจใชใ)toConcurrentMap(Function, Function), toConcurrentMap(Function, Function, BinaryOperator, Supplier), toMap(Function, Function, BinaryOperator)public static <T,K,U,M extends ConcurrentMap<K,U>> Collector<T,?,M> toConcurrentMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapSupplier)
ConcurrentMapๅ
ใซ่ฆ็ด ใ็ดฏ็ฉใใไธฆ่กCollectorใ่ฟใใพใ(ๆๅฎใใใใใใใณใฐ้ขๆฐใๅ
ฅๅ่ฆ็ด ใซ้ฉ็จใใ็ตๆใใใใใใฎใญใผใจๅคใซใชใ)ใ
ใใใๅ
ใฎใญใผใ้่คใใฆใใๅ ดๅ(Object.equals(Object)ใงๅคๅฎ)ใ็ญใใๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใใใใใใฎ็ตๆใๆๅฎใใใใใผใธ้ขๆฐใไฝฟใฃใฆใใผใธใใใพใใ ConcurrentMapใฏใๆๅฎใใใใตใใฉใคใค้ขๆฐใซใใฃใฆไฝๆใใใพใใ
ใใใฏใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollectorใงใใ
T - ๅ
ฅๅ่ฆ็ด ใฎๅK - ใญใผใปใใใใณใฐ้ขๆฐใฎๅบๅใฎๅU - ๅคใใใใณใฐ้ขๆฐใฎๅบๅใฎๅM - ็ตๆใจใชใConcurrentMapใฎๅkeyMapper - ใญใผใ็ๆใใใใใใณใฐ้ขๆฐvalueMapper - ๅคใ็ๆใใใใใใณใฐ้ขๆฐmergeFunction - ๅใใญใผใซ้ข้ฃไปใใใใๅคๅๅฃซใฎ่ก็ชใฎ่งฃๆฑบใซไฝฟ็จใใใใใผใธ้ขๆฐ(Map.merge(Object, Object, BiFunction)ใซๆธกใใใ)mapSupplier - ็ตๆใฎๆฟๅ
ฅๅ
ใจใชใๆฐใใ็ฉบใฎMapใ่ฟใ้ขๆฐConcurrentMapๅ
ใซ่ฆ็ด ใ้ใใใ้ ๅบไปใใใใฆใใชใไธฆ่กใชCollector(ใใใใฎใญใผใฏใๅ
ฅๅ่ฆ็ด ใซใญใผใปใใใใณใฐ้ขๆฐใ้ฉ็จใใ็ตๆใงใใใใใใใฎๅคใฏใใใฎใญใผใซ็ญใใใในใฆใฎๅ
ฅๅ่ฆ็ด ใซๅคใใใใณใฐ้ขๆฐใ้ฉ็จใใใใใใใใผใธ้ขๆฐใง็ตๅใใ็ตๆใจใชใ)toConcurrentMap(Function, Function), toConcurrentMap(Function, Function, BinaryOperator), toMap(Function, Function, BinaryOperator, Supplier)public static <T> Collector<T,?,IntSummaryStatistics> summarizingInt(ToIntFunction<? super T> mapper)
int็ๆใใใใณใฐ้ขๆฐใ้ฉ็จใใใใฎ็ตๆใฎๅคใฎใตใใชใผ็ตฑ่จใ่ฟใCollectorใ่ฟใใพใใT - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่ฆ็ด ใซ้ฉ็จใใใใใใณใฐ้ขๆฐCollectorsummarizingDouble(ToDoubleFunction), summarizingLong(ToLongFunction)public static <T> Collector<T,?,LongSummaryStatistics> summarizingLong(ToLongFunction<? super T> mapper)
long็ๆใใใใณใฐ้ขๆฐใ้ฉ็จใใใใฎ็ตๆใฎๅคใฎใตใใชใผ็ตฑ่จใ่ฟใCollectorใ่ฟใใพใใT - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่ฆ็ด ใซ้ฉ็จใใใใใใณใฐ้ขๆฐCollectorsummarizingDouble(ToDoubleFunction), summarizingInt(ToIntFunction)public static <T> Collector<T,?,DoubleSummaryStatistics> summarizingDouble(ToDoubleFunction<? super T> mapper)
double็ๆใใใใณใฐ้ขๆฐใ้ฉ็จใใใใฎ็ตๆใฎๅคใฎใตใใชใผ็ตฑ่จใ่ฟใCollectorใ่ฟใใพใใT - ๅ
ฅๅ่ฆ็ด ใฎๅmapper - ๅ่ฆ็ด ใซ้ฉ็จใใใใใใณใฐ้ขๆฐCollectorsummarizingLong(ToLongFunction), summarizingInt(ToIntFunction) ใใฐใพใใฏๆฉ่ฝใ้ไฟก
่ฉณ็ดฐใชAPIใชใใกใฌใณในใใใณ้็บ่
ใใญใฅใกใณใใซใคใใฆใฏใJava SEใฎใใญใฅใกใณใใๅ็
งใใฆใใ ใใใ ใใฎใใญใฅใกใณใใซใฏใๆฆๅฟต็ใชๆฆ่ฆใ็จ่ชใฎๅฎ็พฉใๅ้ฟๆนๆณใๆๅนใชใณใผใไพใชใฉใฎใ้็บ่
ใๅฏพ่ฑกใซใใใใ่ฉณ็ดฐใช่ชฌๆใๅซใพใใฆใใพใใ
Copyright ยฉ 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyใๅ็
งใใฆใใ ใใใ