Есть ли способ получить значение HashMap случайным образом в Java?

Поскольку требования запрашивают java-collections-api только случайное значение hashmaps из HashMap, вот подход:

  1. В HashMap есть метод values, который возвращает Collection значений на карте.
  2. Collection используется для создания List.
  3. Метод size используется для определения размера List, который используется методом Random.nextInt для получения случайного индекса List.
  4. Наконец, значение извлекается из метода 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

2022-11-07T01:13:21+00:00