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()));
}
}
package com.ant.jdk8.chap