java中根据value对key进行排序
2014-03-13 10:05
447 查看
public ArrayList<String> getAppSort(){
this.getAppDataFromDB();
maps = this.sortByValue(maps,isOrder);
Iterator it = maps.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry) it.next();
String key = (String)pairs.getKey();
sortByApp.add(key);
}
return sortByApp;
}
//按照value对key进行排序
//reverse = false 按照从小到大的顺序排序
//reverse = true 按照从大到小的顺序排序
private Map sortByValue(Map map, final boolean reverse) {
List list = new LinkedList(map.entrySet());
Collections .sort(list, new Comparator() {
public int compare(Object o1, Object o2) {
if (reverse) {
return -((Comparable) ((Map .Entry)o1).getValue())
.compareTo(((Map .Entry)o2).getValue());
}
return ((Comparable) ((Map .Entry)o1).getValue())
.compareTo(((Map .Entry)o2).getValue());
}
});
Map result = new LinkedHashMap();
for (Iterator it = list.iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry) it.next();
result.put(entry.getKey(), entry.getValue());
}
return result;
}
this.getAppDataFromDB();
maps = this.sortByValue(maps,isOrder);
Iterator it = maps.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry) it.next();
String key = (String)pairs.getKey();
sortByApp.add(key);
}
return sortByApp;
}
//按照value对key进行排序
//reverse = false 按照从小到大的顺序排序
//reverse = true 按照从大到小的顺序排序
private Map sortByValue(Map map, final boolean reverse) {
List list = new LinkedList(map.entrySet());
Collections .sort(list, new Comparator() {
public int compare(Object o1, Object o2) {
if (reverse) {
return -((Comparable) ((Map .Entry)o1).getValue())
.compareTo(((Map .Entry)o2).getValue());
}
return ((Comparable) ((Map .Entry)o1).getValue())
.compareTo(((Map .Entry)o2).getValue());
}
});
Map result = new LinkedHashMap();
for (Iterator it = list.iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry) it.next();
result.put(entry.getKey(), entry.getValue());
}
return result;
}
相关文章推荐
- Java 中 Map 根据键值 (key) 或者值 (value) 进行排序实现
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java对HashMap中的Entry实体根据Key或者Value进行排序
- Java中Map根据键(Key)或者值(Value)进行排序
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java基础 —— 根据 Key 或是 Value 对 Map 进行排序
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java中对list map根据map某个key值进行排序的方法
- 算法实战:根据Key或Value对Map进行排序及其应用
- java读取和遍历properties文件并根据key进行排序
- JAVA中对list map根据map某个key值进行排序
- SortedDictionary<TKey, TValue> 类 表示根据键进行排序的键/值对的集合。
- 获取map中根据key进行排序的value数据
- java中对map根据value进行排序
- 算法实战:根据Key或Value对Map进行排序及其应用
- JAVA中对list map根据map某个key值进行排序
- (java)根据map中value进行排序