java代码排序实践
生活随笔
收集整理的這篇文章主要介紹了
java代码排序实践
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
在java應(yīng)用中,由于數(shù)據(jù)量少,所以排序算法很多時(shí)候我們都在用原始的方法:例如
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;}但是這種O(n*n)的冒泡排序在數(shù)據(jù)量大的時(shí)候會(huì)成為我們系統(tǒng)性能的瓶頸。我們可以借助jdk中的工具來排序
1、針對(duì)鏈表
? ?list.add("1");
? ?list.add("4");
? ?list.add("67");
? ?list.add("3");
? ?Collections.sort(list, new Comparator<String>() {
? ? ? ?@Override
? ? ? ?public int compare(String o1, String o2) {
? ? ? ? ? ?return o1.toString().compareTo(o2.toString());
? ? ? ?}
? ?});
? ?System.out.println(list);
}
2、針對(duì)數(shù)組:
Arrays.sort(arr, new Comparator<String>() {? ?@Override
? ?public int compare(String o1, String o2) {
? ? ? ?if(Integer.parseInt(o1)<Integer.parseInt(o2))
? ? ? ? ? ?return -1;
? ? ? ?if(Integer.parseInt(o1)>Integer.parseInt(o2))
? ? ? ?return 1 ;
? ? ? ?return 0;
? ?}
});
for(int i=0;i<arr.length;i++){
? ?System.out.println(arr[i]);
}
3、針對(duì)map
Map<String,Integer> unsortedMap= new HashMap<String, Integer>(10);unsortedMap.put("A",11);
unsortedMap.put("B",21);
unsortedMap.put("X",111);
unsortedMap.put("E",1);
Map<String, Integer> sortedMap = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER);
sortedMap.putAll(unsortedMap);
System.out.println(sortedMap);
轉(zhuǎn)載于:https://my.oschina.net/zjItLife/blog/537526
總結(jié)
以上是生活随笔為你收集整理的java代码排序实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛逼的博客地址
- 下一篇: JQuery源码-------JQuer