From a1cac26d125c005eaacacedde6674732b7b66a2d Mon Sep 17 00:00:00 2001 From: Mars Liu Date: Sat, 13 Nov 2021 22:28:54 +0800 Subject: [PATCH] lambda and high order --- .../config.json" | 7 --- .../2.\347\256\200\345\206\231/config.json" | 7 --- .../config.json" | 8 --- .../double.md" | 0 .../config.json" | 5 +- .../filter.json" | 6 ++ .../filter.md" | 55 ++++++++++++++++++ .../map.json" | 0 .../map.md" | 49 ++++++++++++++++ .../sum.json" | 6 ++ .../sum.md" | 40 +++++++++++++ .../config.json" | 5 +- .../handler.json" | 6 ++ .../handler.md" | 57 +++++++++++++++++++ .../lambda.json" | 6 ++ .../lambda.md" | 45 +++++++++++++++ .../sam.json" | 0 .../sam.md" | 0 18 files changed, 278 insertions(+), 24 deletions(-) delete mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/1.\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226/config.json" delete mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/config.json" delete mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/config.json" delete mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/double.md" create mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/filter.json" create mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/filter.md" rename "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/double.json" => "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/map.json" (100%) create mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/map.md" create mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/sum.json" create mode 100644 "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/sum.md" create mode 100644 "data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/handler.json" create mode 100644 "data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/handler.md" create mode 100644 "data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/lambda.json" create mode 100644 "data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/lambda.md" rename "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/sam.json" => "data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/sam.json" (100%) rename "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/sam.md" => "data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/sam.md" (100%) diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/1.\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226/config.json" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/1.\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226/config.json" deleted file mode 100644 index 54a5933..0000000 --- "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/1.\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226/config.json" +++ /dev/null @@ -1,7 +0,0 @@ -{ - "node_id": "java-3a05a505cd514579a52321f0c945d577", - "keywords": [], - "children": [], - "export": [], - "title": "行为参数化" -} \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/config.json" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/config.json" deleted file mode 100644 index cdb7ce2..0000000 --- "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/config.json" +++ /dev/null @@ -1,7 +0,0 @@ -{ - "node_id": "java-b121d453fc544e188b9ad50476c22f59", - "keywords": [], - "children": [ - ], - "export": ["sam.json"] -} \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/config.json" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/config.json" deleted file mode 100644 index 6a310a8..0000000 --- "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/config.json" +++ /dev/null @@ -1,8 +0,0 @@ -{ - "node_id": "java-db33d9c7f2004cdbbc058254fe536ace", - "keywords": [], - "children": [ - ], - "export": ["double.json"], - "title": "真实的例子" -} \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/double.md" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/double.md" deleted file mode 100644 index e69de29..0000000 diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/config.json" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/config.json" index 7d6032c..8691570 100644 --- "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/config.json" +++ "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/config.json" @@ -2,6 +2,9 @@ "node_id": "java-fb711fb0dfbb40db974476ea2d9faf9d", "keywords": [], "children": [], - "export": [], + "export": [ + "map.json", + "sum.json" + ], "title": "通过行为参数化传递代码" } \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/filter.json" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/filter.json" new file mode 100644 index 0000000..abbfb75 --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/filter.json" @@ -0,0 +1,6 @@ +{ + "type": "code_options", + "author": "刘鑫", + "source": "double.md", + "notebook_enable": false +} \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/filter.md" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/filter.md" new file mode 100644 index 0000000..c63dc43 --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/filter.md" @@ -0,0 +1,55 @@ +# 过滤 + +Stream API支持 filter 方法,接受一段过滤代码,使得调用者可以传入过滤规则,返回过滤后的新的 Stream,那么下列调用代码不正确的是: + +## 答案 + +```java + IntStream stream=IntStream.range(0,100); + return stream.filter(x%2==0); +``` + +## 选项 + +### 标准的 lambda 调用 + +```java + IntStream stream=IntStream.range(0,100); + return stream.filter(x->x%2==0); +``` + +### lambda 的完整形式 + +```java + IntStream stream=IntStream.range(0,100); + return stream.filter(x->{ + return x%2==0; + }); +``` + +### 对象方法引用 + +```java + IntStream stream=IntStream.range(0,100); + return stream.filter(this::isEven); +``` + +### 类型方法引用 + +```java + IntStream stream=IntStream.range(0,100); + return stream.filter(App::isEven); +``` + +### 可以显式使用完整的函数对象定义 + +```java + IntStream stream=IntStream.range(0,100); + IntPredicate filter = new IntPredicate() { + @Override + public boolean test(int value) { + return value % 2 == 0; + } + }; + return stream.filter(filter); +``` \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/double.json" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/map.json" similarity index 100% rename from "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/3.\351\253\230\345\272\217\345\207\275\346\225\260/double.json" rename to "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/map.json" diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/map.md" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/map.md" new file mode 100644 index 0000000..901a8f0 --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/map.md" @@ -0,0 +1,49 @@ +# 翻倍操作 + +下面哪个选项可以从 `Stream stream` 构造一个新的 List 对象,使其包含stream中每个元素翻倍后的结果: + +## template + +```java +import java.util.stream.Stream; +import java.util.stream.IntStream; + +public class App{ + public void main(String[] args){ + Stream stream = IntStream.range(0, 100).boxed(); + $code + for(var item : result){ + System.out.println(item); + } + } +} +``` + +## 答案 + +```java +List result = stream.map(x->x*2).collect(Collectors.toList()); +``` + +## 选项 + +### 没有变换为 List + +```java +List result = stream.map(x->x*2); +``` + +### lambda 格式错误 + +```java +List result = stream.map(* 2).collect(Collectors.toList()); +``` + +### 错误的使用了 foreach + +```java +List result = stream.foreach(item -> { + return item * 2 +}); +``` + diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/sum.json" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/sum.json" new file mode 100644 index 0000000..df827ed --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/sum.json" @@ -0,0 +1,6 @@ +{ + "type": "code_options", + "author": "刘鑫", + "source": "sum.md", + "notebook_enable": false +} \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/sum.md" "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/sum.md" new file mode 100644 index 0000000..b5f9866 --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/sum.md" @@ -0,0 +1,40 @@ +# 求和 + +下面代码对整数流求和,其中有错的是 + +## 答案 + +```java +Stream stream = IntStream.range(0,100).boxed(); +return stream.mapToInt(x -> x); +``` + +## 选项 + +### 标准库方法 + +```java +Stream stream = IntStream.range(0,100).boxed(); +return stream.sum(); +``` + +### 显式调用 simmingInt 方法,可以定义一些复杂的处理逻辑 + +```java +var collector = Collectors.summingInt(x->x); +return stream.collect(collector); +``` + +### 也可以封装到一个朴素的方法中,作为隐式简写 + +```java +var collector = Collectors.summingInt(this::identity); +return stream.collect(collector); +``` + +### 也可以封装到一个朴素的方法中,作为隐式简写 + +```java +var collector = Collectors.summingInt(App::identity); +return stream.collect(collector); +``` \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/config.json" "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/config.json" index 550e9ad..82395c3 100644 --- "a/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/config.json" +++ "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/config.json" @@ -2,6 +2,9 @@ "node_id": "java-a3b60740abe74bb8a6c16dec381d31c4", "keywords": [], "children": [], - "export": [], + "export": [ + "lambda.json", + "sam.json" + ], "title": "Lambda表达式" } \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/handler.json" "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/handler.json" new file mode 100644 index 0000000..e96f723 --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/handler.json" @@ -0,0 +1,6 @@ +{ + "type": "code_options", + "author": "刘鑫", + "source": "handler.md", + "notebook_enable": false +} \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/handler.md" "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/handler.md" new file mode 100644 index 0000000..dc93126 --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/handler.md" @@ -0,0 +1,57 @@ +# 函数式的参数 + +下面这个代码所定义的函数,用哪一种代码调用会出错? + +```java +import java.util.function.Function; + +public class App { + public product(Function consumer) { + // 这里有一段代码生成了 T value 变量 + return consumer(value); + } + // 省略其它代码 +} +``` + +## 答案 + +```java +Predicate checker = value -> { + return this.exp(value) < 1; +} +``` + +## 选项 + +### lambda 形式 + +```java +app.product(value -> { + return sigmod(value); +}); +``` + +### 对象方法 + +```java +app.product(this::sigmod) +``` + +### 类型方法 + +```java +app.product(App::sigmod) +``` + +### Function 对象 + +```java +Function checker = value -> { + if(this.exp(value) < 1){ + retrun 1/value; + } else { + return sigmod(value); + } +} +``` \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/lambda.json" "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/lambda.json" new file mode 100644 index 0000000..3773b69 --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/lambda.json" @@ -0,0 +1,6 @@ +{ + "type": "code_options", + "author": "刘鑫", + "source": "lambda.md", + "notebook_enable": false +} \ No newline at end of file diff --git "a/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/lambda.md" "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/lambda.md" new file mode 100644 index 0000000..14c50d3 --- /dev/null +++ "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/lambda.md" @@ -0,0 +1,45 @@ +# Lambda 表达式 + +下面这个 lambda 表达式,它的类型不可能是什么? + +```java +x -> { + return x %2 == 0; +} +``` + +## 答案 + +```java +Function +``` + +## 选项 + +### 可以是 Function + +```java +Function +``` + +### 可以是 Predicate + +```java +Predicate +``` + +### 可以是自定义的 SAM + +```java +public interface Parsec{ + Boolean ask(Integer value); +} +``` + +### 可以是泛型的 SAM + +```java +public interface Parsec{ + R ask(T value); +} +``` diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/sam.json" "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/sam.json" similarity index 100% rename from "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/sam.json" rename to "data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/sam.json" diff --git "a/data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/sam.md" "b/data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/sam.md" similarity index 100% rename from "data/3.Java\351\253\230\351\230\266/1.\351\200\232\350\277\207\350\241\214\344\270\272\345\217\202\346\225\260\345\214\226\344\274\240\351\200\222\344\273\243\347\240\201/2.\347\256\200\345\206\231/sam.md" rename to "data/3.Java\351\253\230\351\230\266/2.Lambda\350\241\250\350\276\276\345\274\217/sam.md" -- GitLab