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;

public class Test2 {
	public static void main(String[] args) {
		List<Map.Entry<String, String>> mappingList = null;
		Map<String, String> map = new HashMap<String, String>();
		map.put("dddd", "c");
		map.put("aaaa", "b");
		map.put("bbbb", "d");
		map.put("ccccc", "a");
		

		// 通过ArrayList构造函数把map.entrySet()转换成list
		mappingList = new ArrayList<Map.Entry<String, String>>(map.entrySet());
		// 通过比较器实现比较排序
		Collections.sort(mappingList,
				new Comparator<Map.Entry<String, String>>() {
					public int compare(Map.Entry<String, String> mapping1,
							Map.Entry<String, String> mapping2) {
						// return
						// mapping1.getKey().compareTo(mapping2.getKey());
						return mapping1.getValue().compareTo(
								mapping2.getValue());
					}
				});

		for (Map.Entry<String, String> mapping : mappingList) {
			System.out.println(mapping.getKey() + ":" + mapping.getValue());
		}
	}
}
 

你可能感兴趣的:(Map排序)