2
我需要根据存储在其中的值对我的HashMap进行排序。 HashMap中包含业务名称为键和纬度的差异,经度值在Android中排序HashMap <String,Double>
hashMapLocationDifference = new HashMap<String, Double>();
我需要根据存储在其中的值对我的HashMap进行排序。 HashMap中包含业务名称为键和纬度的差异,经度值在Android中排序HashMap <String,Double>
hashMapLocationDifference = new HashMap<String, Double>();
假设Java中,你可以进行排序HashMap
就像这样:
public LinkedHashMap sortHashMapByValuesD(HashMap passedMap) {
List mapKeys = new ArrayList(passedMap.keySet());
List mapValues = new ArrayList(passedMap.values());
Collections.sort(mapValues);
Collections.sort(mapKeys);
LinkedHashMap sortedMap = new LinkedHashMap();
Iterator valueIt = mapValues.iterator();
while (valueIt.hasNext()) {
Object val = valueIt.next();
Iterator keyIt = mapKeys.iterator();
while (keyIt.hasNext()) {
Object key = keyIt.next();
String comp1 = passedMap.get(key).toString();
String comp2 = val.toString();
if (comp1.equals(comp2)){
passedMap.remove(key);
mapKeys.remove(key);
sortedMap.put((String)key, (Double)val);
break;
}
}
}
return sortedMap;
}
HashMap具有无概念的知识订购。你需要另一种Collection – Blackbelt
哪种类型的收藏? @Blackbelt –
用于排序目的使用List而不是Map。 –