From f8d20a81e21d4099d07d3850c1df294fd09c37b6 Mon Sep 17 00:00:00 2001 From: 9Discount Date: Mon, 16 Jul 2018 20:54:06 +0800 Subject: [PATCH] =?UTF-8?q?List=20Stream=20=E7=BB=83=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chap4/ZBStreamPractice.java | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/main/java/lambdasinaction/chap4/ZBStreamPractice.java diff --git a/src/main/java/lambdasinaction/chap4/ZBStreamPractice.java b/src/main/java/lambdasinaction/chap4/ZBStreamPractice.java new file mode 100644 index 00000000..1fab2289 --- /dev/null +++ b/src/main/java/lambdasinaction/chap4/ZBStreamPractice.java @@ -0,0 +1,55 @@ +package lambdasinaction.chap4; + +import java.util.Comparator; +import java.util.List; +import java.util.Optional; +import java.util.Random; +import java.util.function.BinaryOperator; + +import static java.util.stream.Collectors.toList; + +public class ZBStreamPractice { + + public static void main(String... args) { + + System.out.println("下面是 过滤:filter 结果"); + + List list = Dish.menu.stream().filter(d -> d.getCalories() < 600).collect(toList()); + list.forEach(System.out::println); + + System.out.println("-------------------------"); + + System.out.println("下面是 提取:map 结果"); + + List list1 = Dish.menu.stream().map(Dish::getName).collect(toList()); + list1.forEach(System.out::println); + + System.out.println("-------------------------"); + + System.out.println("下面是 截断:limit 结果"); + + List list2 = Dish.menu.stream().limit(4).collect(toList()); + list2.forEach(System.out::println); + + System.out.println("-------------------------"); + + System.out.println("下面是 排序:sort 结果 采用sort直接排序输出"); + + Dish.menu.sort(Comparator.comparing(Dish::getName)); + + Dish.menu.forEach(System.out::println); + + System.out.println("下面是 排序:sort 结果 采用sorted,重新生成一个list"); + + List list3 = Dish.menu.stream().sorted(Comparator.comparing(Dish::getName)).collect(toList()); + list3.forEach(System.out::println); + + System.out.println("-------------------------"); + + System.out.println("下面是 合并:reduce 结果 将所有卡路里加总"); + + Optional list4 = Dish.menu.stream().map(Dish::getCalories).reduce(Integer::sum); + System.out.println(list4); + + } +}