Map<String, Integer> works = new HashMap<>();
for (int i = 0; i < 10; i ++) {
for (int j = 0; j < 10; j ++){
works.put("wor" + i, j + 495);
}
}
ВЫВОВ В КОНСОЛЬ:
wor1 504
wor0 504
wor9 504
wor8 504
wor7 504
wor6 504
wor5 504
wor4 504
wor3 504
wor2 504Василь
29 уровень
Кто подскажет, почему карту Map нельзя корректно заполнить таким образом?
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
25 февраля 2021, 08:12
что значит корректно. что он у тебя выводится в другом порядке потом? HashMap не хранит порядок добавления элементов. хочешь сохранить порядок используй LinkedHashMap
0
Василь trainee в Kindgeek
25 февраля 2021, 08:35
Я прикрепил вывод в консоль.
Меня порядок не интересует.
Для заполнения значения я сделал вложенный цикл. Но значение не меняется, а во всех случаях == 504.
0
hidden #2322530
25 февраля 2021, 08:48
ты перезаписываешь элементы потому что
у тебя значение во втором цикле меняется, а ключ нет
+1
Василь trainee в Kindgeek
25 февраля 2021, 08:50
а как нужно тогда? Подскажи пожалуйста если можешь.
0
hidden #2322530
25 февраля 2021, 08:52
а что ты хочешь получить. словарь из 100 элементов?
0
Василь trainee в Kindgeek
25 февраля 2021, 08:54
ожидал увидеть что-то типа:
wor1 496
wor0 495
wor9 504
wor8 503
wor7 502
wor6 501
wor5 500
wor4 499
wor3 498
wor2 497
Чтоб значение тоже увеличивалось на 1
0
hidden #2322530
25 февраля 2021, 08:55
тогда тебе нужен один цикл всего лишь.
+2
Василь trainee в Kindgeek
25 февраля 2021, 08:57
принял) спасибо
0