第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java map排序

java map排序

回首憶惘然 2019-04-13 08:46:25
需求是這樣的:現(xiàn)在有一個list,里面n個map,每個map都有m大小的key-value,且每個map的key的順序都是一樣的,比如說map1的第x個key是y,那么mapn的第x個key也是y?,F(xiàn)在要對list中的每個map進行排序,要按n個map中的相同的key的value值的和的順序排序。舉例:比如3個map,都有key1,key2,如果map1.get(key2)+map2.get(key2)+map3.get(key2)>map1.get(key1)+map2.get(key1)+map3.get(key1),那么就要將這三個map中的key的順序按照key2,key1的順序排列,原先每個map中key的順序是key1,key2。怎么來實現(xiàn)呢
查看完整描述

2 回答

?
飲歌長嘯

TA貢獻1951條經(jīng)驗 獲得超3個贊

1.先算出所有key的和的排序
2.對原來的list進行遍歷,根據(jù)key對應的順序,之后放到一個list中
ListsortedKeys=...;//第一步算的結(jié)果
List>originList=...;//原始數(shù)據(jù)集合
List>resultList=newArrayList>();
for(MaporiginMap:originList){
MapsortedMap=newLinkedHashMap();
for(StringsortedKey:sortedKeys){
sortedMap.put(sortedKey,originMap.get(sortedKey));
}
resultList.put(sortedMap);
}
                            
查看完整回答
反對 回復 2019-04-13
?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

有序Map可以用TreeMap來實現(xiàn),所以我在示例中用的java.util.TreeMap。
一般SortedMap都可以用一個Comparator作為構(gòu)建參數(shù),那么你可以自己寫一個Comparator來實現(xiàn)排序,下面就是例子
importjava.util.*;
publicclassTest{
privateSortedMapfirst;
privateSortedMapsecond;
privateSortedMapthird;
privateSortedMapmain;
publicTest(){
first=newTreeMap();
second=newTreeMap();
third=newTreeMap();
main=newTreeMap(newComparator(){
publicintcompare(Stringk1,Stringk2){
Integerv1=first.get(k1)+second.get(k1)+third.get(k1);
Integerv2=first.get(k2)+second.get(k2)+third.get(k2);
returnv2-v1;
}
});
}
publicvoidput(Stringkey,Stringvalue,Integerv1,Integerv2,Integerv3){
first.put(key,v1);
second.put(key,v2);
third.put(key,v3);
main.put(key,value);
}
publicSortedMapgetMain(){
returnmain;
}
publicstaticvoidmain(String[]args){
Testtest=newTest();
test.put("a","aaaaaaaa",1,2,3);
test.put("b","bbbbbbbb",10,20,30);
test.put("c","cccccccc",5,15,20);
test.put("d","dddddddd",100,1,3);
for(Map.Entryentry:test.getMain().entrySet()){
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
}
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關(guān)注
  • 350 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號