欧美三级电影完整|亚洲一二三四久久|性爱视频精品一区二区免费在线观看|国产精品啪啪视频|婷婷六月综合操人妻视频网站|99爱免费视频在线观看|美女一级片在线观看|北京熟女88av|免费看黄色A级电影|欧美黄色毛片儿

Comparator與Comparable的區(qū)別

2023-04-12


當(dāng)需要排序的集合或數(shù)組不是單純的數(shù)字類型的時(shí)候,通??梢允褂肅omparator或Comparable,以簡(jiǎn)單的方式實(shí)現(xiàn)對(duì)象排序或自定義排序。


Comparator和Comparable的區(qū)別如下:


Comparable用在對(duì)象本身,說明這個(gè)對(duì)象是可以被比較的,也就是說可以被排序的。(String和Integer之所以可以比較大小,是因?yàn)樗鼈兌紝?shí)現(xiàn)了Comparable接口,并實(shí)現(xiàn)了compareTo()方法)。


Comparator用在對(duì)象外面,相當(dāng)于定義了一套排序算法來排序。



下面通過具體的例子來理解Comparator和Comparable的區(qū)別:


Comparable



1. package
2.   
3. import
4.   
5. public class User implements
6.   
7. private
8. private int
9.   
10. public User(String id, int
11. this.id = id;  
12. this.age = age;  
13.     }  
14.   
15. public int
16. return
17.     }  
18.   
19. public void setAge(int
20. this.age = age;  
21.     }  
22.   
23. public
24. return
25.     }  
26.   
27. public void
28. this.id = id;  
29.     }  
30.   
31. @Override
32. public int
33. return this.age - ((User) o).getAge();  
34.     }  
35.   
36. /**
37.      * 測(cè)試方法
38.      */
39. public static void
40. new User[] { new User("a", 30), new User("b", 20) };  
41.         Arrays.sort(users);  
42. for (int i = 0; i < users.length; i++) {  
43.             User user = users[i];  
44. " "
45.         }  
46.     }  
47. }



Comparator





1. package
2.   
3. import
4. import
5.   
6. public class MyComparator implements
7.   
8. @Override
9. public int
10. return
11.     }  
12.   
13. private int
14.         String str = (String) o;  
15. "一", "1");  
16. "二", "2");  
17. "三", "3");  
18. return
19.     }  
20.   
21. /**
22.      * 測(cè)試方法
23.      */
24. public static void
25. new String[] { "一", "三", "二"
26. new
27. for (int i = 0; i < array.length; i++) {  
28.             System.out.println(array[i]);  
29.         }  
30.     }  
31. }


本文僅代表作者觀點(diǎn),版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請(qǐng)?jiān)谖闹凶⒚鱽碓醇白髡呙帧?/p>

免責(zé)聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請(qǐng)及時(shí)與我們聯(lián)系進(jìn)行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com