37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
|
||||||||||||||||
1 | ||||||||||||||||
Map.Entry06.07.2018, 09:56. Показов 2795. Ответов 13
Метки нет (Все метки)
Господа. Может кто-нибудь более менее доступно разъяснить про Map.Entry
Джавадок пять раз перечитал - никак не отдуплю. (в исходники не полезу - джавой занимаюсь чуть больше месяца по самоучителям )))) Началось все с того, что мне мой HashMap понадобилось отсортировать. Я его перегоняю в List:
Насколько я понимаю изначально в HashMap находятся элементы класса Entry, представляющие из себя как раз пару ключ-значение. А Entry - это внутренний класс в данном случае HashMap. Так что в результате является элементом sortList?
class java.util.HashMap$Node Что это? Добавлено через 25 минут угу... главное спросить. оказывается в HashMap внутренний класс Node реализующий Entry из Map Но как мне обратиться к элементам? Если я запускаю:
А HashMap.Node - не публичный.
0
|
06.07.2018, 09:56 | |
Ответы с готовыми решениями:
13
Ошибка с циклом Map.Entry entry:hashMap.entrySet Добавить после каждого entry-го вхождения реализация Map Итераторы в Map |
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
||||||
06.07.2018, 10:05 | 2 | |||||
какая разница что там реализует Entry. Метод entrySet() возвращает сет из Entry -
0
|
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
|
||||||
06.07.2018, 10:35 [ТС] | 4 | |||||
Я же написал - мне нужно отсортировать мой HashMap по значению.
Добавлено через 8 минут
В принципе, все работает. Но компаратор, сделан через одно место. Да и выводит пару в формате "exampleWord=25", что мне не очень удобно.
0
|
Автоматизируй это!
|
||||||
06.07.2018, 11:37 | 5 | |||||
ну так хешмап подразумевает что порядка нет, почему тримап не взял?
если просто для вывода то вот так можно (там же и компаратор)
0
|
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
|
|
06.07.2018, 11:50 [ТС] | 6 |
А не знаю... Я про него мало что знаю. Нужно почитать.
Ну у меня нет как таковой задачи решить вопрос любыми способами. Я сам себе ее выдумал и решаю теми средствами которые пока знаю. Чего не знаю лезу разбираться потихоньку. Вот и заклинило на том что не могу к элементу ListArray обратиться. Компилятор считает что там просто обджект и ниодного метода от энтри не дает использовать. А с лямбда выражениями у меня вообще пока туго. Так что я толком даже не могу понять что вы предложили, только в общих чертах. Учимся...
0
|
494 / 340 / 134
Регистрация: 14.06.2016
Сообщений: 658
|
|
06.07.2018, 12:00 | 8 |
Наверное потому, что надо List<Map.Entry<String, Integer>> sortList, a не raw type писать.
1
|
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
|
|
06.07.2018, 12:09 [ТС] | 9 |
так я убрал.
изначально вместо sortList.get(i).toString() я планировал sortList.get(i).getKey и sortList.get(i).getValue использовать. И вместо for ( int i=0; i<sortList.size();i++) форыч использовать. Добавлено через 5 минут О! Круто, заработало )))) А подскажите, что это поменяло или где об этом можно почитать?
0
|
494 / 340 / 134
Регистрация: 14.06.2016
Сообщений: 658
|
|
06.07.2018, 12:14 | 10 |
Указывай, чем list параметрирован, что там лежать будет. Так как ты написал, подразумевается, Object-ы лежат, а ты пытаешься их как Entry достать.
0
|
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
|
|
06.07.2018, 12:31 [ТС] | 11 |
Т.е. я правильно понимаю, что проблема в том, что я создаю объект (sortList) и его элементами указываю параметризированный класс. Соответственно и в объявлении я должен указать, что там за параметры.
Иначе по мнению компилятора я могу передать туда класс с другими параметрами, под которые не реализован тот или иной метод, который бы работал с первыми. Правильно?
0
|
494 / 340 / 134
Регистрация: 14.06.2016
Сообщений: 658
|
|
06.07.2018, 12:38 | 12 |
Любая ссылка на "обобщенные классы java". Думаю, без труда разберешься.
1
|
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
|
|
06.07.2018, 12:45 [ТС] | 13 |
0
|
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
|
|
06.07.2018, 13:08 | 14 |
0
|
06.07.2018, 13:08 | |
06.07.2018, 13:08 | |
Помогаю со студенческими работами здесь
14
Работа с Map Работа с Map Вложенные Map Из массива в map Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |