Я бы хотел сортировать список (список) по значению (счету) и по ключу (позиция). Asu - ArrayList of String;Сортировка списка по карте, сортировка по количеству
System.out.println(asu);
[3100, 3100, 3100, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 100, 100, 100, 100, 100, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 400, 400, 400, 400, 202, 202, 10]
List<String> list = ArrayList<>();
Map<String, Integer> counts = new HashMap<>();
// Fill list with values....
for (String item:list) {
Integer count = counts.get(item);
if (count == null) {
// This is the first time we have seen item, so the count should be one.
count = 1;
} else {
// Increment the count by one.
count = count + 1;
}
counts.put(item, count);
}
Collections.sort(asu, new Comparator<String>() {
@Override
public int compare(String left, String right) {
return Integer.compare(counts.get(left), counts.get(right));
}
});
System.out.println(asu);
[10, 202, 202, 3100, 3100, 3100, 400, 400, 400, 400, 100, 100, 100, 100, 100, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 2005, 2005, 2005, 2005, 2005, 2005, 2005,]
В результате после того, как все должно быть следующим (возвращать только значение в списке):
System.out.println(asu);
[10, 202, 202, 3100, 3100, 3100, 400, 400, 400, 400, 100, 100, 100, 100, 100, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 1029, 1029, 1029, 1029, 1029, 1029, 1029]
И пожалуйста, не советую «TreeMap»
Что ваш вопрос? – Santosh
Возможный дубликат [Дальше Сортировка уже отсортированного списка] (http://stackoverflow.com/questions/15646900/further-sort-an-already-sorted-list) –
duplicate? Это мой вопрос, ребята. Моя карта содержит String и Integer) – Eldar