| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6,8 +6,11 @@ | |||
| 6 | 6 | ||
| 7 | 7 | ## lambda 表达式 | |
| 8 | 8 | ||
| 9 | - - FilteringApples: 传递代码的例子,展示方法引用和Lambda | ||
| 9 | + - FilteringApples: 传递代码的例子,展示方法引用和 Lambda | ||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | ## steam API | |
| 13 | 13 | ||
| 14 | + - Dish: | ||
| 15 | + - StreamBasic: 指令式和函数式分别挑选低热量食物名 | ||
| 16 | + - StreamOperation: 流操作:中间操作和终端操作 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,6 +3,9 @@ | |||
| 3 | 3 | import java.util.Arrays; | |
| 4 | 4 | import java.util.List; | |
| 5 | 5 | ||
| 6 | + /** | ||
| 7 | + * 菜肴类 | ||
| 8 | + */ | ||
| 6 | 9 | public class Dish { | |
| 7 | 10 | ||
| 8 | 11 | private final String name; | |
@@ -44,6 +47,9 @@ public String toString() { | |||
| 44 | 47 | return name; | |
| 45 | 48 | } | |
| 46 | 49 | ||
| 50 | + /** | ||
| 51 | + * 菜肴列表 | ||
| 52 | + */ | ||
| 47 | 53 | public static final List<Dish> menu = | |
| 48 | 54 | Arrays.asList(new Dish("pork", false, 800, Dish.Type.MEAT), | |
| 49 | 55 | new Dish("beef", false, 700, Dish.Type.MEAT), | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,30 @@ | |||
| 1 | + package com.brianway.learning.java8.streamapi; | ||
| 2 | + | ||
| 3 | + import static com.brianway.learning.java8.streamapi.Dish.menu; | ||
| 4 | + | ||
| 5 | + import java.util.List; | ||
| 6 | + import java.util.stream.Collectors; | ||
| 7 | + | ||
| 8 | + /** | ||
| 9 | + * Created by brian on 17/2/28. | ||
| 10 | + * 流操作:中间操作和终端操作 | ||
| 11 | + * 流的延迟性质 | ||
| 12 | + * 1. limit 操作,短路 | ||
| 13 | + * 2. filter 和 map 操作, 循环合并 | ||
| 14 | + */ | ||
| 15 | + public class StreamOperation { | ||
| 16 | + public static void main(String[] args) { | ||
| 17 | + List<String> names = menu.stream() | ||
| 18 | + .filter(d -> { | ||
| 19 | + System.out.println("filtering " + d.getName()); | ||
| 20 | + return d.getCalories() > 300; | ||
| 21 | + }) | ||
| 22 | + .map(d -> { | ||
| 23 | + System.out.println("mapping " + d.getName()); | ||
| 24 | + return d.getName(); | ||
| 25 | + }) | ||
| 26 | + .limit(3) | ||
| 27 | + .collect(Collectors.toList()); | ||
| 28 | + System.out.println(names); | ||
| 29 | + } | ||
| 30 | + } | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments