Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 18.01.2015
Сообщений: 8

Сортировка Map по количеству элементов в ArrayList (value)

09.09.2015, 23:58. Показов 2999. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно отсортировать Map<String, ArrayList<String>> по количеству элементов в ArrayList'е.
например:
string1:value1,value2,value3
string2:value4
string3:value5,value6,value7,value8

результат
string3:value5,value6,value7,value8
string1:value1,value2,value3
string2:value4
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.09.2015, 23:58
Ответы с готовыми решениями:

Сортировка массива по количеству одинаковых элементов
нужно сделать сортировку, руками, без библиотек и прочего пример: есть массив...

Не выводит ArrayList по ключу map
задание такое нужно ,чтобы открывался файл и по команде new (название множества) создавалось множество , а по команде add добавлялось в...

Сортировка по количеству повторяемых элементов
Сгенерировать рамдомную матрицу 10*10(используя //randomize()), отсортировать ее по количеству повторяемих елеvентов в каждой...

5
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
10.09.2015, 00:20
kazkachi, в чем именно проблема?
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
10.09.2015, 07:36
Тынц.
1
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
10.09.2015, 09:24
Очевидно, проблема в том, что ArrayList не является частью ключа.
1
61 / 61 / 15
Регистрация: 18.05.2015
Сообщений: 322
10.09.2015, 15:42
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.util.*;
import java.util.Map.Entry;
 
public class SortingByValDemo {
 
        
    public static void main(String[] args) {
        TreeMap<String,ArrayList<String>> m = new TreeMap<String,ArrayList<String>>();
        
        ArrayList<String> a1 = new ArrayList<String>();
        a1.add("ah");
        a1.add("fuh");
        ArrayList<String> a2 = new ArrayList<String>();
        a2.add("Bling");
        a2.add("Fuck");
        a2.add("Tick");
        a2.add("Buuuu");
        ArrayList<String> a3 = new ArrayList<String>();
        a3.add("111");
        ArrayList<String> a4 = new ArrayList<String>();
        a4.add("nononono");
        m.put("a2", a2);
        m.put("a1", a1);
        m.put("a3", a3);
        m.put("a4", a4);
        
        SortedSet<Map.Entry<String, ArrayList<String>>> sortedset = new TreeSet<Map.Entry<String, ArrayList<String>>>(
                new Comparator<Entry<String,ArrayList<String>>>() {
 
                    @Override
                    public int compare(Entry<String, ArrayList<String>> arg0,
                            Entry<String, ArrayList<String>> arg1) {
                        if (arg0.getValue().size() > arg1.getValue().size())
                            return 1;
                        else if (arg0.getValue().size() < arg1.getValue().size())
                            return -1;
                        else
                            return 1;
                    }
                }
            );
        sortedset.addAll(m.entrySet());
        for (Map.Entry<String, ArrayList<String>> em : sortedset){
            System.out.println(
                    em.getKey()+" : "+em.getValue()+"\n"+"========="+"\n"
                    
            );
        }
        
    }
 
}
Программа помещает результирующий набор не в карту, а в SortedSet, т.к. карту нельзя сортировать по значениям.
В компораторе специально вместо 0 написано 1, иначе он будет выкидывать значения с повторяющейся длиной ArrayList. Не знаю, м.б. от этого будут какие-то побочные эффекты, уж точно не будет работать ф-ция compareTo да и equals, но в задаче ничего такого нет.
1
0 / 0 / 0
Регистрация: 18.01.2015
Сообщений: 8
15.09.2015, 20:30  [ТС]
я написал отдельный класс, в котором есть ключ и лист, добавлял это в отдельный лист и поменял компоратор в методе сорт.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.09.2015, 20:30
Помогаю со студенческими работами здесь

Сортировка элементов (тип double) массива ArrayList
Элементарны вопрос, но... Создаю следующее ref class myReverserClass: public IComparer { private: virtual int Compare( Object^...

Сортировка массива строк по количеству элементов каждой строки
Собственно вопрос. Есть массив строк string. Как отсортировать массив по количеству символов в каждой строке? P.s. желательно использую...

Сортировка двумерного массива. Конечный массив равен количеству положительных элементов строк
Дан двумерный массив A размером NxM, заполненный случайным образом в интервале . Создать новый массив В, каждый элемент которого задается...

ArrayList<Map<String,Object>> как сохранить активность?
ArrayList&lt;Map&lt;String,Object&gt;&gt; как сохранить savedInstanceState

Сортировка по количеству
Есть функция: function WGetUsers() { $query = &quot;SELECT * FROM `pack` WHERE `users` &lt;&gt; '1'&quot;; $res = mysql_query($query); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru