gpt4 book ai didi

Java:从 HashMap> 中的给定键返回随机值

转载 作者:行者123 更新时间:2023-12-02 10:11:44 27 4
gpt4 key购买 nike

我正在尝试创建一种方法,当给定特定键时,该方法将从 HashMap 中的字符串列表中返回随机值。下面是我的代码。 (特别是查看方法“getRandomValue”,因为这是我遇到困难的方法)。我的问题是:如何在映射中查找键并从 HashMap 中返回随机值?

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class Values {
private Map<String, List<String>> map;
private static Random rand = new Random();

public void ValueStore() {
this.map = new HashMap<String, List<String>>();
}

public boolean containsKey(String key) {
if(map.containsKey(key)) {
return true;
} return false;

}

public void put(String key, List<String> value) {
map = new HashMap<>();
map.put(key, value);

}

public String getRandomValue(String key) {
for (String key1 : map.keySet()) {
if(map.containsKey(key)) {
//not sure what to do here
}
}
return key;

}

}

最佳答案

首先创建一个 java.util.Random 实例作为类中的静态最终字段,因为您的 getRandomValue(String) 方法需要每次调用时都使用它:

private static final Random RANDOM = new Random();

现在在您的方法中使用它:

public String getRandomValue(String key) {
List<String> list = map.get(key);
if (list == null) {
return null; // or throw an exception
}
int randomIndex = RANDOM.nextInt(list.length());
return list.get(randomIndex);
}

Random.nextInt(int x) 方法将返回一个介于零(含)和 x(不包括)之间的值,这使得它非常适合选择随机索引(因为列表和数组索引始终从零开始)。

关于Java:从 HashMap<String, List<String>> 中的给定键返回随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54958486/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com