หน้าเว็บ

วันพฤหัสบดีที่ 14 กุมภาพันธ์ พ.ศ. 2556

Sort Map java

before, thank you very much for this linkhttp://www.mkyong.com/java/how-to-sort-a-map-in-java/
MapUtils.java
package com.blogspot.na5cent.utils;

import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

/**
 *
 * @author Redcrow
 */
public class MapUtils {

    public static Map sort(Map unsortMap) {
        List list = new LinkedList(unsortMap.entrySet());
        Collections.sort(list, new Comparator() {
            @Override
            public int compare(Object object1, Object object2) {
                Object value1 = ((Map.Entry) (object1)).getValue();
                Object value2 = ((Map.Entry) (object2)).getValue();

                return ((Comparable) value1).compareTo(value2);
            }
        });

        Map sortedMap = new LinkedHashMap();
        for (Iterator it = list.iterator(); it.hasNext();) {
            Map.Entry entry = (Map.Entry) it.next();
            sortedMap.put(entry.getKey(), entry.getValue());
        }
        return sortedMap;
    }
}

example to use
...
...
        Map<String, String> unsortMonths = new HashMap<String, String>();
        unsortMonths.put("มกราคม", "01");
        unsortMonths.put("กุมภาพันธ์", "02");
        unsortMonths.put("มีนาคม", "03");
        unsortMonths.put("เมษายน", "04");
        unsortMonths.put("พฤษภาคม", "05");
        unsortMonths.put("มิถุนายน", "06");
        unsortMonths.put("กรกกฎาคม", "07");
        unsortMonths.put("สิงหาคม", "08");
        unsortMonths.put("กันยายน", "09");
        unsortMonths.put("ตุลาคม", "10");
        unsortMonths.put("พศจิกายน", "11");
        unsortMonths.put("ธันวาคม", "12");

        Map<String, String> sortedMonths = MapUtils.sort(unsortMonths); //*********
...
...

unsort


sorted


ไม่มีความคิดเห็น:

แสดงความคิดเห็น