使用Collections工具類對Map、List集合的排序

==================================

說明:其中調用、轉換的原理我還沒有搞得很清楚,但是直接拿過來用還是可以的,故此簡單整理了下,希望以後用得上。。。

==================================

=====================

1.對Map集合的排序

package com.lin.map;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class Test_HashMap_Sort {
	
	public static void main(String[] args){
		
		HashMap<String,Integer> hashMap = new HashMap<>();
		
		hashMap.put("lin", 55);
		hashMap.put("lin2", 88);
		hashMap.put("lin8", 33);
		hashMap.put("lin5", 66);
		
		List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(hashMap.entrySet());
		
		
		Collections.sort(list,new Comparator<Map.Entry<String,Integer>>() {
            //降序排序
            public int compare(Entry<String, Integer> o1,Entry<String, Integer> o2) {
            	//使用Entry類中的值來比較大小
                return o2.getValue().compareTo(o1.getValue());
//              //使用Entry類中的鍵來比較大小
//                return o2.getKey().compareTo(o1.getKey());
            }

        });
		
		for(Entry<String,Integer> e :list){
			System.out.println(e.getKey()+"---->"+e.getValue());
		}
	}
}

用值排序結果:

用鍵排序結果:

 

====================================

2.對List集合的排序

package com.lin.map;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test_HashMap_Sort {
	
	public static void main(String[] args){
		
		List<Integer> list2 = new ArrayList<>();
		list2.add(111);
		list2.add(333);
		list2.add(222);
		list2.add(000);
		
		Collections.sort(list2);
		
		for(int i=0;i<list2.size();i++){
			System.out.println(list2.get(i));
		}
		

		
	}
	

}

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章