package hash;
import java.util.*;
import java.util.Map.Entry;
public class MapSort {
public static void main(String args[]){
Map<Integer,Integer> map=new HashMap<Integer,Integer>();//定义一个hashMap
map.put(8,3);
map.put(1,2);
map.put(3,4);
map.put(5,7);
map.put(4,6);
map.put(9,8);
//上面存进六个键值对
//Map.Entry返回的是键值对的对象。下面这句话是把map键值对传到list集合中去了
List<Map.Entry<Integer, Integer>> list=new ArrayList<Map.Entry<Integer,Integer>>(map.entrySet());
//调用Collections工具类的sort方法,并重写比较方法。返回的是1就交换二者位置。
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer>m1,Map.Entry<Integer, Integer>m2){
return m2.getKey()-m1.getKey();
}
});
//第一种迭代方法。迭代器中传一个Map.Entry,这样输出的时候才能输出键值对。
// Iterator<Map.Entry<Integer,Integer>> it=list.iterator();
// while(it.hasNext()){
// System.out.println(it.next());
// }
//ListIteractor暂时就这样用,原理还不懂
ListIterator<Entry<Integer, Integer>> iteractor=list.listIterator();
while(iteractor.hasNext()){
System.out.println(iteractor.next());
}
// for(Iterator<Map.Entry<Integer,Integer>> it=list.iterator();it.hasNext();)
// {
// System.out.println(it.next());
// }
}
}
import java.util.*;
import java.util.Map.Entry;
public class MapSort {
public static void main(String args[]){
Map<Integer,Integer> map=new HashMap<Integer,Integer>();//定义一个hashMap
map.put(8,3);
map.put(1,2);
map.put(3,4);
map.put(5,7);
map.put(4,6);
map.put(9,8);
//上面存进六个键值对
//Map.Entry返回的是键值对的对象。下面这句话是把map键值对传到list集合中去了
List<Map.Entry<Integer, Integer>> list=new ArrayList<Map.Entry<Integer,Integer>>(map.entrySet());
//调用Collections工具类的sort方法,并重写比较方法。返回的是1就交换二者位置。
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer>m1,Map.Entry<Integer, Integer>m2){
return m2.getKey()-m1.getKey();
}
});
//第一种迭代方法。迭代器中传一个Map.Entry,这样输出的时候才能输出键值对。
// Iterator<Map.Entry<Integer,Integer>> it=list.iterator();
// while(it.hasNext()){
// System.out.println(it.next());
// }
//ListIteractor暂时就这样用,原理还不懂
ListIterator<Entry<Integer, Integer>> iteractor=list.listIterator();
while(iteractor.hasNext()){
System.out.println(iteractor.next());
}
// for(Iterator<Map.Entry<Integer,Integer>> it=list.iterator();it.hasNext();)
// {
// System.out.println(it.next());
// }
}
}