diff --git a/mergedemo/.idea/.gitignore b/mergedemo/.idea/.gitignore
new file mode 100644
index 0000000..c68e6c2
--- /dev/null
+++ b/mergedemo/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/../../../../:\java project\mergedemo\.idea/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/mergedemo/.idea/compiler.xml b/mergedemo/.idea/compiler.xml
new file mode 100644
index 0000000..b15642a
--- /dev/null
+++ b/mergedemo/.idea/compiler.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mergedemo/.idea/jarRepositories.xml b/mergedemo/.idea/jarRepositories.xml
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ b/mergedemo/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mergedemo/.idea/misc.xml b/mergedemo/.idea/misc.xml
new file mode 100644
index 0000000..4b661a5
--- /dev/null
+++ b/mergedemo/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mergedemo/mergedemo.iml b/mergedemo/mergedemo.iml
new file mode 100644
index 0000000..78b2cc5
--- /dev/null
+++ b/mergedemo/mergedemo.iml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/mergedemo/pom.xml b/mergedemo/pom.xml
new file mode 100644
index 0000000..93accab
--- /dev/null
+++ b/mergedemo/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+
+ com.woniu
+ mergedemo
+ 1.0-SNAPSHOT
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.24
+
+
+
+
+
\ No newline at end of file
diff --git a/mergedemo/src/main/java/com/woniu/mergedemo/MainTest.java b/mergedemo/src/main/java/com/woniu/mergedemo/MainTest.java
new file mode 100644
index 0000000..3282b81
--- /dev/null
+++ b/mergedemo/src/main/java/com/woniu/mergedemo/MainTest.java
@@ -0,0 +1,52 @@
+package com.woniu.mergedemo;
+
+
+import java.util.*;
+
+/**
+ * Java 8 中 Map的一个骚操作!好用到爆!!
+ *
+ * 假设我们有这么一段业务逻辑,
+ * 我有一个学生成绩对象的列表,
+ * 对象包含学生姓名、科目、科目分数三个属性,
+ * 要求求得每个学生的总成绩。
+ */
+public class MainTest {
+
+ public static void main(String[] args) {
+ List studentScoreList = Arrays.asList(
+ new StudentScore("张三", "语文", 70),
+ new StudentScore("张三", "数学", 70),
+ new StudentScore("张三", "英语", 65),
+ new StudentScore("李四", "语文", 68),
+ new StudentScore("李四", "数学", 70),
+ new StudentScore("李四", "英语", 90),
+ new StudentScore("王五", "语文", 80),
+ new StudentScore("王五", "数学", 85),
+ new StudentScore("王五", "英语", 70)
+ );
+
+ Map studentScoreMap = new HashMap<>();
+ studentScoreList.forEach(studentScore -> {
+ if (studentScoreMap.containsKey(studentScore.getStuName())) {
+ studentScoreMap.put(studentScore.getStuName(), studentScoreMap.get(studentScore.getStuName()) + studentScore.getScore());
+ } else {
+ studentScoreMap.put(studentScore.getStuName(), studentScore.getScore());
+ }
+ });
+
+
+ Map studentScoreMap2 = new HashMap<>();
+
+ studentScoreList.forEach(studentScore -> studentScoreMap2.merge(
+ studentScore.getStuName(),
+ studentScore.getScore(),
+ (oldValue, newValue) -> oldValue + newValue));
+ //merge() 方法会先判断指定的 key 是否存在,如果不存在,则添加键值对到 hashMap 中。
+
+
+ }
+
+
+
+}
diff --git a/mergedemo/src/main/java/com/woniu/mergedemo/StudentScore.java b/mergedemo/src/main/java/com/woniu/mergedemo/StudentScore.java
new file mode 100644
index 0000000..72ec939
--- /dev/null
+++ b/mergedemo/src/main/java/com/woniu/mergedemo/StudentScore.java
@@ -0,0 +1,12 @@
+package com.woniu.mergedemo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
+public class StudentScore {
+ private String stuName;
+ private String subject;
+ private int score;
+}
diff --git a/mergedemo/target/classes/com/woniu/mergedemo/MainTest.class b/mergedemo/target/classes/com/woniu/mergedemo/MainTest.class
new file mode 100644
index 0000000..b88d431
Binary files /dev/null and b/mergedemo/target/classes/com/woniu/mergedemo/MainTest.class differ
diff --git a/mergedemo/target/classes/com/woniu/mergedemo/StudentScore.class b/mergedemo/target/classes/com/woniu/mergedemo/StudentScore.class
new file mode 100644
index 0000000..bc37952
Binary files /dev/null and b/mergedemo/target/classes/com/woniu/mergedemo/StudentScore.class differ