Сортировка карты с ключом «MMMyyyy».JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Сортировка карты с ключом «MMMyyyy».

Сообщение Anonymous »

У меня есть карта, ключи которой имеют формат МММгггг, и мне нужно отсортировать ее по месяцам.
Ввод:

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
}


После сортировки должно получиться следующее:

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,
}


В настоящее время я использую древовидную карту, которая сортирует ее в алфавитном порядке, но как мне отсортировать ее на основе иерархии месяцев.

Код:

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());
}


Подробнее здесь: https://stackoverflow.com/questions/319 ... yyy-as-key
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»