zoukankan      html  css  js  c++  java
  • 编写一个定制的收集器

     //编写一个定制的收集器
     List<String> names = Arrays.asList("shekhar", "rahul", "shekhar");
     Multiset<String> set = names.stream().collect(new MultisetCollector<>());
     set.forEach(str -> System.out.println(str + ":" + set.count(str)));
    
    
    
     //编写一个定制的收集器
        public static class MultisetCollector<T> implements Collector<T, Multiset<T>, Multiset<T>> {
    
            @Override
            public Supplier<Multiset<T>> supplier() {
                return HashMultiset::create;
            }
    
            @Override
            public BiConsumer<Multiset<T>, T> accumulator() {
                return (set, e) -> set.add(e, 1);
            }
    
            @Override
            public BinaryOperator<Multiset<T>> combiner() {
                return (set1, set2) -> {
                    set1.addAll(set2);
                    return set1;
                };
            }
    
            @Override
            public Function<Multiset<T>, Multiset<T>> finisher() {
                return Function.identity();
            }
    
            @Override
            public Set<Characteristics> characteristics() {
                return Collections.unmodifiableSet(EnumSet.of(Characteristics.IDENTITY_FINISH));
            }
        }
  • 相关阅读:
    tomcat启动报错host-manager does not exist
    jq对象,js对象,dom对象的转化
    Axure
    css盒子垂直居中
    数组去重个人总结的六种方式
    原生Ajax
    tp5总结(四)
    tp5总结(二)
    tp5总结(三)
    tp5总结(一)
  • 原文地址:https://www.cnblogs.com/hahajava/p/13131418.html
Copyright © 2011-2022 走看看