Есть ли способ получить значение HashMap случайным образом в Java?
Поскольку требования запрашивают java-collections-api только случайное значение hashmaps из HashMap
, вот подход:
- В
HashMap
есть методvalues
, который возвращаетCollection
значений на карте. -
Collection
используется для созданияList
. - Метод
size
используется для определения размераList
, который используется методомRandom.nextInt
для получения случайного индексаList
. - Наконец, значение извлекается из метода
List
get
со случайным индексом.
Реализация:
HashMap map = new HashMap();
map.put("Hello", 10);
map.put("Answer", 42);
List valuesList = new ArrayList(map.values());
int randomIndex = new Random().nextInt(valuesList.size());
Integer randomValue = valuesList.get(randomIndex);
Хорошая java сторона этого подхода заключается collection в том, что все методы generic - нет java-collections-api необходимости в приведении j2se типов.
java
collections
hashmap
2021-12-22T15:51:11+00:00
2022-11-07T01:13:21+00:00
CycJluk
Вопросы с похожей тематикой, как у вопроса:
Есть ли способ получить значение HashMap случайным образом в Java?
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.