map的键值对的排序

    xiaoxiao2021-03-25  112

    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()); //     }     }  }
    转载请注明原文地址: https://ju.6miu.com/read-19628.html

    最新回复(0)