map实现按value排序功能
2011-12-30 11:45
337 查看
map内部是按照hash算法存储的,但如果能对map排序在某些时候还是有用的
/**
* @param h
* @return
* 实现对map按照value升序排序
*/
@SuppressWarnings("unchecked")
public static Map.Entry[] getSortedHashtableByValue(Map h) {
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
Long key1 = Long.valueOf(((Map.Entry) arg0).getValue().toString());
Long key2 = Long.valueOf(((Map.Entry) arg1).getValue().toString());
return key1.compareTo(key2);
}
});
return entries;
}
/**
* @param h
* @return
* 实现对map按照key排序
*/
@SuppressWarnings("unchecked")
public static Map.Entry[] getSortedHashtableByKey(Map h) {
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
Object key1 = ((Map.Entry) arg0).getKey();
Object key2 = ((Map.Entry) arg1).getKey();
return ((Comparable) key1).compareTo(key2);
}
});
return entries;
}
/**
* @param h
* @return
* 实现对map按照value升序排序
*/
@SuppressWarnings("unchecked")
public static Map.Entry[] getSortedHashtableByValue(Map h) {
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
Long key1 = Long.valueOf(((Map.Entry) arg0).getValue().toString());
Long key2 = Long.valueOf(((Map.Entry) arg1).getValue().toString());
return key1.compareTo(key2);
}
});
return entries;
}
/**
* @param h
* @return
* 实现对map按照key排序
*/
@SuppressWarnings("unchecked")
public static Map.Entry[] getSortedHashtableByKey(Map h) {
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
Object key1 = ((Map.Entry) arg0).getKey();
Object key2 = ((Map.Entry) arg1).getKey();
return ((Comparable) key1).compareTo(key2);
}
});
return entries;
}
相关文章推荐
- Java中Map根据键值(key)或者值(value)进行排序实现
- java中给map按照值value排序输出,用Comparator实现
- Java 中 Map 根据键值 (key) 或者值 (value) 进行排序实现
- Java Map 按照Value排序的实现方法
- C++中实现对map按照value值进行排序
- Java Map 按key排序和按Value排序的实现方法
- C++中实现对map按照value值进行排序 - 菜鸟变身记 - 51CTO技术博客
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java中Map根据键值(key)或者值(value)进行排序实现
- C++中实现对map按照value值进行排序 - 菜鸟变身记 - 51CTO技术博客
- Java中Map根据键值(key)或者值(value)进行排序实现
- C#对Dictionary的Value排序功能实现
- Java中如何实现Map的按值Value(非Key)排序
- map实现排序功能
- Java中Map根据键值(key)或者值(value)进行排序实现
- java map实现排序功能
- map实现按value升序排序
- Java中Map根据键值(key)或者值(value)进行排序实现
- Map<String, Double>实现value值的排序
- C++中实现对map按照value值进行排序