Sortieren Sie eine Karte mit „MMMyyyy“ als SchlüsselJava

Java-Forum
Anonymous
 Sortieren Sie eine Karte mit „MMMyyyy“ als Schlüssel

Post by Anonymous »

Ich habe eine Karte, deren Schlüssel im Format MMMyyyy vorliegen, und ich muss sie nach Monat sortieren.
Eingabe:

Code: Select all

unsorted: {
"Dec2010": 1,
"Apr2010": 1,
"Feb2010": 0,
"Nov2010": 2,
"Mar2010": 0,
"Jun2010": 2,
"Sep2010": 1,
"May2010": 0,
"Oct2010": 1,
"Jul2010": 0,
"Aug2010": 0,
"Jan2010": 1
}
Nach dem Sortieren sollte es wie folgt aussehen:

Code: Select all

sorted: {
"Jan2010": 1
"Feb2010": 0,
"Mar2010": 0,
"Apr2010": 1,
"May2010": 0,
"Jun2010": 2,
"Jul2010": 0,
"Aug2010": 0,
"Sep2010": 1,
"Oct2010": 1,
"Nov2010": 2,
"Dec2010": 1,
}
Derzeit verwende ich Treemap, das es in alphabetischer Reihenfolge sortiert, aber wie bekomme ich es basierend auf der Monatshierarchie sortiert?

Code:

Code: Select all

    Map unsorted = new HashMap();
unsorted.put("Dec2010", 1);
unsorted.put("Apr2010", 1);
unsorted.put("Feb2010", 0);
unsorted.put("Nov2010", 2);
unsorted.put("Mar2010", 0);
unsorted.put("Jun2010", 2);
unsorted.put("Sep2010", 1);
unsorted.put("May2010", 0);
unsorted.put("Oct2010", 1);
unsorted.put("Jul2010", 0);
unsorted.put("Aug2010", 0);
unsorted.put("Jan2010", 1);

System.out.println("\nSorted......");
Map sorted = new TreeMap(unsorted);
for (Map.Entry entry : sorted.entrySet()) {
System.out.println("Key : " + entry.getKey()
+ " Value : " + entry.getValue());
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post