Skip to content

Commit 784ec5d

Browse files
committed
docs: [Java 8 Lambda 和 Comparator 排序](/java8/comparator/)
1 parent 813cdec commit 784ec5d

16 files changed

+277
-15
lines changed

core-java-modules/core-java-8/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
当前模块包含 Java 8 新特性相关代码
33

44
### 相关文章
5+
- [Java 8 Lambda 和 Comparator 排序](/java8/comparator/)
56
- [Java 8 函数接口 UnaryOperator ](https://www.wdbyte.com/java8/java8-unaryoperaotr)
67
- [Java 8 函数接口 BiPredicate ](https://www.wdbyte.com/java8/java8-bipredicate)
78
- [Java 8 函数接口 BiFunction ](https://www.wdbyte.com/java8/java8-bifunction/)

core-java-modules/core-java-8/pom.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,28 @@
1818
<maven.compiler.target>1.8</maven.compiler.target>
1919
</properties>
2020

21+
<dependencyManagement>
22+
<dependencies>
23+
<dependency>
24+
<groupId>org.junit</groupId>
25+
<artifactId>junit-bom</artifactId>
26+
<version>5.8.2</version>
27+
<type>pom</type>
28+
<scope>import</scope>
29+
</dependency>
30+
</dependencies>
31+
</dependencyManagement>
32+
33+
<dependencies>
34+
<dependency>
35+
<groupId>org.junit.jupiter</groupId>
36+
<artifactId>junit-jupiter</artifactId>
37+
</dependency>
38+
<dependency>
39+
<groupId>org.projectlombok</groupId>
40+
<artifactId>lombok</artifactId>
41+
<version>1.18.22</version>
42+
</dependency>
43+
</dependencies>
44+
2145
</project>

core-java-modules/core-java-8/src/main/java/com/wdbyte/Jdk8Function.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import java.util.List;
55
import java.util.function.Predicate;
66

7-
import org.junit.Test;
87

98
/**
109
* <p>
@@ -20,7 +19,6 @@
2019
*/
2120
public class Jdk8Function {
2221

23-
@Test
2422
public void testFunction() {
2523
// 构造器引用
2624
final Car bmwCar = Car.create(Car::new);
@@ -39,7 +37,6 @@ public void testFunction() {
3937
/**
4038
* 函数接口
4139
*/
42-
@Test
4340
public void functionInterfaceTest() {
4441
List<String> skills = Arrays.asList("java", "golang", "c++", "c", "python");
4542
Predicate<String> length4 = (str) -> str.length() > 4;
@@ -75,7 +72,6 @@ public void filterByFilter(List list, Predicate condition) {
7572
/**
7673
* predicate 的复杂使用
7774
*/
78-
@Test
7975
public void predicateTest() {
8076
Predicate<String> startsWith = (str) -> str.startsWith("g");
8177
Predicate<String> length = (str) -> str.length() > 4;

core-java-modules/core-java-8/src/main/java/com/wdbyte/Jdk8Lambda.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import lombok.Getter;
55
import lombok.Setter;
66
import lombok.ToString;
7-
import org.junit.Test;
7+
import org.junit.jupiter.api.Test;
88

99
import java.util.*;
1010
import java.util.stream.Collectors;

core-java-modules/core-java-8/src/main/java/com/wdbyte/Jdk8LocalDateTime.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import java.time.temporal.TemporalAdjusters;
77
import java.util.Date;
88

9-
import org.junit.Test;
9+
import org.junit.jupiter.api.Test;
1010

1111
/**
1212
* <p>

core-java-modules/core-java-8/src/main/java/com/wdbyte/Jdk8NashornJs.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.wdbyte;
22

3-
import org.junit.Test;
4-
53
import javax.script.ScriptEngine;
64
import javax.script.ScriptEngineManager;
75
import javax.script.ScriptException;
8-
import java.util.HashSet;
9-
import java.util.Set;
6+
7+
import org.junit.jupiter.api.Test;
108

119
/**
1210
* <p>

core-java-modules/core-java-8/src/main/java/com/wdbyte/Jdk8Optional.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
import java.util.Optional;
44

5-
import org.junit.Test;
65

76
import lombok.Data;
7+
import org.junit.jupiter.api.Test;
88

99
/**
1010
* <p>

core-java-modules/core-java-8/src/main/java/com/wdbyte/Jdk8Stream.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.wdbyte;
22

3-
import org.junit.Test;
4-
3+
import org.junit.jupiter.api.Test;
54
import java.io.BufferedReader;
65
import java.io.FileNotFoundException;
76
import java.io.FileReader;

core-java-modules/core-java-8/src/main/java/com/wdbyte/Jdk8StreamPro.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
import java.util.function.Function;
77
import java.util.function.Predicate;
88
import java.util.stream.Stream;
9-
10-
import org.junit.Test;
9+
import org.junit.jupiter.api.Test;
1110

1211
/**
1312
* @author darcy
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package com.wdbyte.comparator;
2+
3+
import java.util.ArrayList;
4+
import java.util.Collections;
5+
import java.util.Comparator;
6+
import java.util.List;
7+
8+
/**
9+
* @author niulang
10+
* @date 2022/04/02
11+
*/
12+
public class Java8Comparator {
13+
public static void main(String[] args) {
14+
List<Person> list = new ArrayList<>();
15+
list.add(new Person("Linda", 10));
16+
list.add(new Person("Jack", 30));
17+
list.add(new Person("Chris", 20));
18+
sortListJava7(list);
19+
}
20+
21+
private static void sortListJava7(List<Person> list) {
22+
Collections.sort(list, new Comparator<Person>() {
23+
@Override
24+
public int compare(Person o1, Person o2) {
25+
return o1.getAge() - o2.getAge();
26+
}
27+
});
28+
for (Person person : list) {
29+
System.out.println(person);
30+
}
31+
}
32+
}
33+
34+
class Person {
35+
private String name;
36+
private Integer age;
37+
38+
public Person(String name, Integer age) {
39+
this.name = name;
40+
this.age = age;
41+
}
42+
43+
@Override
44+
public String toString() {
45+
return "Person{" +
46+
"name='" + name + '\'' +
47+
", age=" + age +
48+
'}';
49+
}
50+
51+
public String getName() {
52+
return name;
53+
}
54+
55+
public void setName(String name) {
56+
this.name = name;
57+
}
58+
59+
public Integer getAge() {
60+
return age;
61+
}
62+
63+
public void setAge(Integer age) {
64+
this.age = age;
65+
}
66+
}

0 commit comments

Comments
 (0)