日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

程序员如何用Java排序

發(fā)布時(shí)間:2025/3/21 java 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序员如何用Java排序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在閱讀開源Java項(xiàng)目源代碼過程中,我發(fā)現(xiàn)Java開發(fā)者經(jīng)常使用兩種開發(fā)方式排序:一種是使用Collections和Arrays類的sort方法,另一種是使用可排序的數(shù)據(jù)結(jié)構(gòu)。

使用sort()方法

1 2 3 4 5 6 7 // Collections.sort List<ObjectName> list = new ArrayList<ObjectName>(); Collections.sort(list, new Comparator<ObjectName>()?? { ????????public int compare(ObjectName o1, ObjectName o2) { ????????????return o1.toString().compareTo(o2.toString()); ????????} });
1 2 3 4 5 6 7 // Arrays.sort ObjectName[] arr = new ObjectName[10]; Arrays.sort(arr, new Comparator<ObjectName>() { ????public int compare(ObjectName o1, ObjectName o2) { ????????return o1.toString().compareTo(o2.toString()); ????} });

使用可排序的數(shù)據(jù)結(jié)構(gòu)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // TreeSet Set<ObjectName> sortedSet = new TreeSet<ObjectName>(new Comparator<ObjectName>() { ????public int compare(ObjectName o1, ObjectName o2) { ????????return o1.toString().compareTo(o2.toString()); ????} }); sortedSet.addAll(unsortedSet); // TreeMap - using String.CASE_INSENSITIVE_ORDER which is a Comparator that orders Strings by compareToIgnoreCase Map<String, Integer> sortedMap = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER); sortedMap.putAll(unsortedMap); //TreeMap - In general, defined comparator Map<ObjectName, String> sortedMap = new TreeMap<ObjectName, String>(new Comparator<ObjectName>() { ????public int compare(ObjectName o1, ObjectName o2) { ????????return o1.toString().compareTo(o2.toString()); ????} }); sortedMap.putAll(unsortedMap);

不好的編程實(shí)踐

也有很多不好的編程實(shí)踐,比如使用自定義的排序算法。下面的代碼不僅算法效率不高,而且可讀性差。

1 2 3 4 5 6 7 8 double t; for (int i = 0; i < 2; i++) ????for (int j = i + 1; j < 3; j++) ????????if (r[j] < r[i]) { ????????????t = r[i]; ????????????r[i] = r[j]; ????????????r[j] = t; ????????}
原文鏈接:? programcreek ?翻譯:? ImportNew.com? -? hejiani
譯文鏈接:? http://www.importnew.com/10700.html

總結(jié)

以上是生活随笔為你收集整理的程序员如何用Java排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。