導航:首頁 > 編程語言 > javalistmap排序

javalistmap排序

發布時間:2023-02-04 02:17:22

java list<map> 排序

用我這個排序不是更簡單么

importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

publicclass${

publicstaticvoidmain(String[]args){

List<Map<Object,Object>>list=newArrayList<Map<Object,Object>>();

Map<Object,Object>map=newHashMap<Object,Object>();

Map<Object,Object>map1=newHashMap<Object,Object>();
Map<Object,Object>map2=newHashMap<Object,Object>();
Map<Object,Object>map3=newHashMap<Object,Object>();

map.put("number",1);
map1.put("number",2);
map2.put("number",4);
map3.put("number",3);
list.add(map);
list.add(map1);
list.add(map2);
list.add(map3);

Collections.sort(list,newComparator<Map<Object,Object>>(){

publicintcompare(Map<Object,Object>o1,Map<Object,Object>o2){

intmap1value=(Integer)o1.get("number");
intmap2value=(Integer)o2.get("number");

returnmap1value-map2value;
}
});
System.out.println(list);
}
}

Ⅱ Java中List Set Map 是否有序等總結

其實都是有序的。
不過set

map
的排序規則不是通常意義上的1,2,3這樣排的而是按照HashCode,演算法比較復雜,所以通常把set和map當作無序的
list
的有序很簡單,就是按添加的順序

Ⅲ Java中 map集合能排序嗎

Java中的Map默認是對元素不排序的,但是Map的實現類TreeMap能夠把它保存的記錄根據key排序,默認是按升序排序。如果我們想要改變排序方式,則需要使用比較器:Comparator。

Ⅳ java中list和map的區別

List中的對象按照索引位置排序,可以有重復對象,允許按照對象在集合中的索引位置檢索對象,如通過list.get(i)方式來獲得List集合中的元素。
Map中的每一個元素包含一個鍵對象和值對象,它們成對出現。鍵對象不能重復,值對象可以重復。

Ⅳ java中list裡面存放map,根據map中的某兩個個欄位進行排序

packagecom.compare.test;

importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

publicclassMain{
publicstaticvoidmain(String[]args){
MainmainTest=newMain();
mainTest.sortMap();
}

publicvoidsortMap(){
List<Map<Integer,Double>>maps=newArrayList<Map<Integer,Double>>();
for(inti=0;i<10;i++){
HashMap<Integer,Double>map=newHashMap<Integer,Double>();
for(intj=0;j<2;j++){
map.put(j,Math.random());
}
maps.add(map);
}

for(Map<Integer,Double>map:maps){
System.out.println(getValue(map));
}
System.out.println("************************");
Map<Integer,Double>currentMap;
for(inti=0;i<maps.size()-1;i++){
for(intj=0;j<maps.size()-i-1;j++){
if(getValue(maps.get(j))>getValue(maps.get(j+1))){
currentMap=maps.get(j+1);
maps.set(j+1,maps.get(j));
maps.set(j,currentMap);
}
}
}

for(Map<Integer,Double>map:maps){
System.out.println(getValue(map));
}}

publicDoublegetValue(Map<Integer,Double>currentMap){
returncurrentMap.get(0)+currentMap.get(1);
}
}

我採用最簡單的排序大數沉底。而且getValue
方法你可以自己實現,決定使用哪幾個進行排序。(我們有進行key值不存在的判斷)

Ⅵ 如何對Map進行字典排序Java

//根據 Map的key進行字典排序
Map<String, String> parameterMap = new HashMap<String, String>();
List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(parameterMap.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String,String>>() {
//升序排序
public int compare(Entry<String, String> o1,
Entry<String, String> o2) {
return o1.getKey().compareTo(o2.getKey());
}

});

閱讀全文

與javalistmap排序相關的資料

熱點內容
android許可權組 瀏覽:168
2017單片機 瀏覽:474
讓孩子感興趣編程的電影 瀏覽:258
用顏料製作脆皮解壓球 瀏覽:931
火箭解壓器 瀏覽:71
cnet中級程序員面試題 瀏覽:189
單片機怎麼做人臉識別 瀏覽:151
監獄辦理工商銀行app怎麼辦呢 瀏覽:816
c語言寫編程時需要用什麼輸入法 瀏覽:587
生發程序員 瀏覽:164
高考英語pdf 瀏覽:415
哈利波特忘記伺服器怎麼辦 瀏覽:821
怎麼看其他電腦共享文件夾 瀏覽:510
py文件夾後綴 瀏覽:722
你對我們的app有什麼建議 瀏覽:583
phpgetcookie 瀏覽:144
程序員最煩遇到的單詞 瀏覽:124
開始伺服器升級需要什麼 瀏覽:984
gcc中的編譯選項 瀏覽:192
程序員長沙開滴滴 瀏覽:138