一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - 詳解JAVA使用Comparator接口實現自定義排序

詳解JAVA使用Comparator接口實現自定義排序

2021-07-22 16:22孟陽miss Java教程

這篇文章主要介紹了JAVA使用Comparator接口實現自定義排序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、原則

comparator接口可以實現自定義排序,實現comparator接口時,要重寫compare方法:
int compare(object o1, object o2) 返回一個基本類型的整型
如果要按照升序排序,則o1 小于o2,返回-1(負數),相等返回0,01大于02返回1(正數)
如果要按照降序排序,則o1 小于o2,返回1(正數),相等返回0,01大于02返回-1(負數)

?
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import java.util.arraylist;
import java.util.comparator;
import java.util.list;
 
public class usercomparator implements comparator < user > {
 
public static void main( string[] args ) {
list < user > users = new arraylist < user >();
users.add( new user( 10, "a" ) );
users.add( new user( 11, "d" ) );
users.add( new user( 15, "s" ) );
users.add( new user( 6, "x" ) );
users.add( new user( 17, "a" ) );
users.add( new user( 17, "b" ) );
users.add( new user( 17, "c" ) );
users.add( new user( 17, "d" ) );
usercomparator comparator = new usercomparator();
 
users.sort( comparator );
// 也可以使用:collections.sort( users, comparator );
 
for ( user u : users ) {
system.out.println( u );
}
}
 
@override
public int compare( user u1, user u2 ) {
if ( u1.equals( u2 ) ) {
return 0;
}
else if ( u1.getage() < u2.getage() ) {
return 1;
}
else if ( u1.getage() == u2.getage() ) {
int f = u1.getname().compareto( u2.getname() );
if ( f < 0 ) {
 return -1;
}
return 0;
}
else {
return -1;
}
}
}
 
class user {
private int age;
private string name;
 
public user() {
 
}
 
public user( int age, string name ) {
this.age = age;
this.name = name;
}
 
public int getage() {
return age;
}
 
public void setage( int age ) {
this.age = age;
}
 
public string getname() {
return name;
}
 
public void setname( string name ) {
this.name = name;
}
 
@override
public string tostring() {
return "user [age=" + age + ", name=" + name + "]";
}
 
}
?
1
2
3
4
5
6
7
8
user [age=17, name=a]
user [age=17, name=b]
user [age=17, name=c]
user [age=17, name=d]
user [age=15, name=s]
user [age=11, name=d]
user [age=10, name=a]
user [age=6, name=x]

以上所述是小編給大家介紹的java使用comparator接口實現自定義排序詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://www.cnblogs.com/mengzj233/p/9816289.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: mm在线| 高h生子双性美人受 | 国产成人手机在线好好热 | 美女扒开粉嫩尿口漫画 | 精品福利一区二区免费视频 | 免费一级毛片在级播放 | 饭冈加奈子黑人解禁在线播放 | 国产免费午夜高清 | 男人日女人的逼视频 | 免费一级黄 | 欧美性bbbbbxxxxxddd| 午夜想想爱午夜剧场 | 国产激情一区二区三区成人91 | 狠狠做五月深爱婷婷天天综合 | 范冰冰好紧好滑好湿 | 国产精品久久久久久久久齐齐 | 91精品国产综合久久消防器材 | 成年人在线视频免费观看 | 韩国三级年轻小的胰子完整 | 国产美女屁股直流白浆视频无遮挡 | 美国艳星lisann成人作品 | 教室里的激情电影 | 久久这里只有精品视频9 | 强漂亮白丝女教师小说 | 114毛片免费观看网站 | 婷婷在线综合 | 骚虎tv| 亚洲麻豆精品 | 吃胸膜奶视频456 | 欧美日韩一区二区综合在线视频 | 国产成人精选免费视频 | 九九99热久久精品在线6 | 国产suv精品一区二区四区三区 | 激情婷婷综合久久久久 | 日本偷偷操 | 日韩拍拍拍 | 日韩高清在线免费看 | 九九九好热在线 | 日韩 国产 欧美 精品 在线 | 日本高清动作片www欧美 | k逼|