Как отсортировать карту списка, содержащего пары ключ-значение? - PullRequest
2 голосов
/ 09 марта 2011

Я получаю список результатов на карте для определенного ключа. Как это отсортировать?

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 09 марта 2011

, если вы хотите отсортировать ключи, перейдите к TreeMap


из вашего заявления:

Я получаю список результатов на карте для определенного ключа. Как это отсортировать?

кажется, ваша карта

Map<String,List<SomeEntity>> map;

вы можете получить List объектов из key, затем использовать

Collections.sort(list, your_custom_implementation_of_comparator)

public class CustomComparator implements Comparator<SomeEntity> {
    @Override
    public int compare(SomeEntity o1, SomeEntity o2) {
        //logic goes here
    }
}
1 голос
/ 09 марта 2011
Map<String, String> mapie = new Hashtable<String, String>();
        mapie.put("D", "the letter D");
        mapie.put("C", "the letter C");
        mapie.put("A", "the letter A");
        mapie.put("B", "the letter B");

        Set<String> keys = mapie.keySet();

        List<String> keyColList = new ArrayList<String>();
        keyColList.addAll(keys);

            **You can also make use of a Comparator if you are using a custom object.**
        Collections.sort(keyColList);

        for(String keyIndex:keyColList){
            System.out.println("Key: "+ keyIndex + " has value: "+mapie.get(keyIndex));
        }
1 голос
/ 09 марта 2011

Если вы спрашиваете, как отсортировать список, см. Collections.sort (Список) .

0 голосов
/ 09 марта 2011

Самый простой способ сделать это для визуального осмотра - инициализировать TreeMap с вашей картой, а затем распечатать его.

System.out.println("map: " + new TreeMap(myMap));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...