实体类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package com.whty.entity; public class User { private int id; private String name; private int age; public User( int id, String name, int age) { super (); this .id = id; this .name = name; this .age = age; } public int getId() { return id; } public void setId( int id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } public int getAge() { return age; } public void setAge( int age) { this .age = age; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]" ; } } |
测试类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package com.whty.test; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import com.whty.entity.User; public class Test { public static void main(String[] args) { List<User> list = new ArrayList<>(); list.add( new User( 1 , "java" , 20 )); list.add( new User( 2 , "spark" , 19 )); list.add( new User( 3 , "hive" , 21 )); for (User user :list) { System.out.println( "排序前:" + user.toString()); } //实现排序 Collections.sort(list, new Comparator<User>() { @Override public int compare(User u1, User u2) { if (u1.getAge() > u2.getAge()) { //return -1:即为正序排序 return - 1 ; } else if (u1.getAge() == u2.getAge()) { return 0 ; } else { //return 1: 即为倒序排序 return 1 ; } } }); for (User user :list) { System.out.println( "排序后:" + user.toString()); } } } |
运行结果
排序前:User [id=1, name=java, age=20]
排序前:User [id=2, name=spark, age=19]
排序前:User [id=3, name=hive, age=21]
排序后:User [id=3, name=hive, age=21]
排序后:User [id=1, name=java, age=20]
排序后:User [id=2, name=spark, age=19]
以上就是Java如何实现List自定义排序的详细内容,更多关于Java List自定义排序的资料请关注服务器之家其它相关文章!
原文链接:https://cloud.tencent.com/developer/article/1639912