zoukankan      html  css  js  c++  java
  • 归约和汇总

    1. 查找流中的最大值和最小值:

    package com.ant.jdk8.chap06;
    
    import java.util.Arrays;
    import java.util.Comparator;
    import java.util.List;
    import java.util.stream.Collectors;
    
    public class MaxByMinByDemo {
        public static void main(String[] args) {
            List<Dish> menu = Arrays.asList(
                    new Dish("pork", false, 800, Type.MEAT),
                    new Dish("beef", false, 700, Type.MEAT),
                    new Dish("chicken", false, 400, Type.MEAT),
                    new Dish("french fries", true, 530, Type.OTHER),
                    new Dish("rice", true, 350, Type.OTHER),
                    new Dish("season fruit", true, 120, Type.OTHER),
                    new Dish("pizza", true, 550, Type.OTHER),
                    new Dish("prawns", false, 300, Type.FISH),
                    new Dish("salmon", false, 450, Type.FISH) );
            menu.stream()
                    .collect(Collectors.maxBy(Comparator.comparingInt(Dish::getCalories)))
                    .ifPresent(d-> System.out.println(d.getCalories()+"->"+d.getName()));
        }
    }
    

    2. 汇总:

    int totalCalories = menu.stream().collect(Collectors.summingInt(Dish::getCalories));
    System.out.println("totalCalories:"+totalCalories);
    

    IntSummaryStatistics menuStatistics = menu.stream().collect(Collectors.summarizingInt(Dish::getCalories));
    System.out.println(menuStatistics);
    

    3. 连接字符串:

    String menuStr = menu.stream().map(Dish::getName).collect(Collectors.joining(", "));
    System.out.println(menuStr);

    4. 广义的归约汇总:

    int totalCalories1 = menu.stream().collect(Collectors.reducing(0,Dish::getCalories,Integer::sum));
    int totalCalories2 = menu.stream().map(Dish::getCalories).reduce(Integer::sum).get();
    int totalCalories3 = menu.stream().mapToInt(Dish::getCalories).sum();
    System.out.println(totalCalories1+","+totalCalories2+","+totalCalories3);
    

  • 相关阅读:
    tfboys——tensorflow模块学习(二)
    瑞丽熵(renyi entropy)
    ELBO 与 KL散度
    tfboys——tensorflow模块学习(一)
    tf.InteractiveSession()与tf.Session()
    论-多租户技术
    商业级项目——基金客户端的架构设计与开发(下)(附源码)
    商业级项目——基金客户端的架构设计与开发(上)
    猜拳游戏案例
    动态数组的实现案例
  • 原文地址:https://www.cnblogs.com/i-hard-working/p/9595465.html
Copyright © 2011-2022 走看看