Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 21.09.2018
Сообщений: 12

Нужна консультация по HashMap

05.11.2018, 11:04. Показов 727. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, нужна консультация по одному вопросу связанному с Hashmap.
Суть в чем, есть два потока(А и Б).
У них есть 3 синхронизированных метода, и в порядке живой очереди они выполняют их.
2 метода на реализацию вычислений.
В первом методе записывается результат вычислений в ArrayList, потом по логике они должны идти в третий метод, в котором сохраняют значения листа в Hashmap(String, Integer).
Все так и происходит, но! В качестве ключа в hashMap выступает строка, которая повторяется.
Мне необходимо сделать так, чтобы значение равнялась количеству повторяемости ключа т.е

если сначала у меня ключ-значение "Васька, 1", при втором попадании в листе Васьки, перезаписываю но уже со значение два "Васька, 2".
т.е значение это счетчик повторений ключа.

2 дня мучаюсь с потоками и с этой штукой.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2018, 11:04
Ответы с готовыми решениями:

Работа HashMap нужна помошь
Здравствуйте товариши программисты нужна помошь по работе с HashMap. Проблема заключается в том что мне нужно в виде значения передавать...

Вставка HashMap в HashMap меняет все элементы
Вставляю HashMap в HashMap генерируя карту доски для шахмат, привожу тестовый пример, вставляется только данные последней ячейки доски, с...

Нужна консультация в решении задачи
Нужно обойти все pdf-Документы в папке и посчитать количество повторяющихся символов в сумме во всех файлах. import...

4
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.11.2018, 11:55
map.put(key, map.get(key) + 1)
еще в Map есть разные методы типа merge, computeIf...
0
0 / 0 / 0
Регистрация: 21.09.2018
Сообщений: 12
05.11.2018, 12:11  [ТС]
xoraxax,
Java
1
List<String> test = new ArrayList<>();
содержит значения: [test,test1,test,test,test1,test2]
нужен метод, который закинет это все дело в HashMap в формате {test=3,test1=2;test2=1};
Потом, опять очищаю лист и генерирую новые значения, к примеру
[test1,test,test2,test2,test,test2]
И их опять нужно записать в тот же Map, т.е обновить его данные.
На выходе, после второго пробега должно получится должно следующее {test=5, test1=3; test2=4}
Этот цикл два потока повторяют 100 раз.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.11.2018, 12:37
Java
1
2
3
List<String> test = Arrays.asList("test","test1","test","test","test1","test2");
        final Map<String, Long> collect = test.stream().collect(groupingBy(identity(), counting()));
        System.out.println(collect);
1
0 / 0 / 0
Регистрация: 21.09.2018
Сообщений: 12
05.11.2018, 17:28  [ТС]
Java
1
2
3
4
5
6
7
8
9
Map<String, Integer> save = new HashMap<>();
List<String> detail = new asList("test","test1","test","test","test1","test2");
 
Integer m;
        for (String i : detail) {
 
            m = save.get(i);
            save.put(i, m == null ? 1 : m + 1);
        }
Я так переписал.
Минимальное значение в save искал через еще один метод:
Java
1
Collections.min(save.entrySet(), Comparator.comparingInt(Map.Entry::getValue)).getValue()
мб кому-то понадобится
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.11.2018, 17:28
Помогаю со студенческими работами здесь

Стираемый/цветной текст в консоли. Нужна консультация!
Добрый вечер! У меня есть 2 вопроса: 1. Нужно как-то вывести текст в консоль, который потом можно изменять. Т.е. вывели &quot;Прогресс:...

Нужна консультация по javaMail
Нужна консультация по javaMail 1. Немогу разобраться где прописать свой файл MyMail.properties, и прописать путь к нему. 2. Можно ли...

Нужна консультация в написании программки
Всем привет. Решил научиться писать ява(или не ява) приложения. У меня есть идейка: требования программы следующие: окно авторизации на...

Начинаю программировать на яве, нужна консультация
Здравствуйте, программирую на C/C++ и решил заняться Java. Есть понимание алгоритмов вплоть до реализации архиваторов и анализаторов...

Нужна консультация
Добрый день кодеры, появился такой вопрос. #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main () { system...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru