1. 程式人生 > >對Map裡面的key和value按字母排序

對Map裡面的key和value按字母排序

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


public class Test
{

	public static void main(String[] args)
	{
		Map<String, Integer> map = new HashMap<String, Integer>();
		map.put("Total Memory", 2);
		map.put("Max Memory", 1);
		map.put("Free Memory", 1);
		map.put("Actual Free", 3);
		
		List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
		
		//排序方法
		Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {   
		    public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {      
		        //return (o2.getValue() - o1.getValue()); 
		        return (o1.getKey()).toString().compareTo(o2.getKey());
		    }
		}); 
		
		//排序後
		for (int i = 0; i < infoIds.size(); i++) {
		    String id = infoIds.get(i).toString();
		    System.out.println(id);
		}
		
		//排序後
		for(Map.Entry<String, Integer> m : infoIds){
			System.out.println(m.getKey()+":"+ m.getValue());
		}
		
	}

}