zoukankan      html  css  js  c++  java
  • Stream<T>

    返回低热量的菜肴名称,并按照卡路里排序:

    package com.ant.jdk8.chap04;
    
    import java.util.Arrays;
    import java.util.Comparator;
    import java.util.List;
    
    public class StreamDemo {
        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()
                    .filter(d->d.getCalories()<400)
                    .sorted(Comparator.comparing(Dish::getCalories))
                    .map(Dish::getName)
                    .forEach(name-> System.out.println(name));
        }
    }
    

    按照类别对菜肴进行分组:

    package com.ant.jdk8.chap04;
    
    import java.util.Arrays;
    import java.util.Comparator;
    import java.util.List;
    import java.util.Map;
    import java.util.stream.Collectors;
    
    public class StreamDemo {
        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) );
            Map<Type,List<Dish>> dishesByType = menu.stream().collect(Collectors.groupingBy(Dish::getType));
            System.out.println(dishesByType);
        }
    }
    

  • 相关阅读:
    c#发送邮件.net1.1和.net2.0中的两个方法
    六步使用ICallbackEventHandler实现无刷新回调
    报表项目总结
    转载:Tomcat Port 8009 与AJP13协议
    JUnit4 使用指南二 (熟练掌握)
    JUnit4 使用指南一 (简单上手)
    HP的项目中曾做一个业务日志系统
    Unitils使用(转载)
    iBatis 学习
    JUnit4 使用指南三 (Runner 特性分析)
  • 原文地址:https://www.cnblogs.com/i-hard-working/p/9576562.html
Copyright © 2011-2022 走看看