2017-01-02 2 views
-1

Есть ли эффективный способ сортировки Java-карты, имеющей список как значение? У меня есть строка как ключ, и я пытаюсь сортировать значения, которые у меня есть в моем списке объектов.Сортировка карты <String, List <Object[]>>

Map<String, List<Object[]>> liste = new TreeMap<String, List<Object[]>>(); 
+0

Для каждой записи карты вы хотите отсортировать значения (списки)? – user152468

+0

Укажите пример данных, которые необходимо отсортировать и на каком основании? –

+0

Точно, мне нужно отсортировать их по значению id, которое является Integer. Итак, для каждого ключа у меня есть Integer и String значение в моем списке объектов, и мне нужно отсортировать их по id, от самого низкого числа до наивысшего – user2489847

ответ

1

Это будет сортировать списки по Integer на объект в первой записи массива:

for (List<Object[]> list : liste.values()) { 
     list.sort(Comparator.comparingInt(arr -> ((Integer) arr[0]).intValue())); 
    } 

Мне кажется, что вы не сделали вы проектируете работу должным образом, хотя? Для большинства приложений вам не нужно использовать Object[]. Лучше спроектировать свой собственный класс, с int (или Integer) id и другими полями. Также ваши данные и требования не совсем понятны мне, поэтому я надеюсь, что я нахожусь на том же пути, что и вы.

+0

да, вы помогли. tnx много – user2489847

Смежные вопросы