gpt4 book ai didi

java - 随机选择键值对的最佳方法

转载 作者:行者123 更新时间:2023-11-30 07:54:05 27 4
gpt4 key购买 nike

我正在设计一个程序,只要它们低于某个阈值,就会选择随 secret 钥对。

假设我有这些作为我的 key 对:

Padded=1
Leather=2
Studded Leather=3
Hide=4
Scale Mail=5

理想情况下,我只能选择一个或多个 key 对的组合,这些组合加起来低于某一数字,然后将所选 key 对的文本打印到屏幕上。

存储易于编辑且高效且可以随机选择的 key 对的最佳方式是什么。我最终可能会得到 200 多个 key 对。

最佳答案

如果您希望通过键有效地访问值并能够随机获取它们,您可以使用 MapList 的组合。如果您想访问随机对,您还应该声明一些代表该对的自定义类。

Map 将存储键值对,List 将仅存储键 - 这将使您能够使用随机数来获取随机对.

在你的情况下,它可能看起来像这样:

class Pair {

private final String key;
private int value;

public Pair(String key, int value) {
this.key = key;
this.value = value;
}

public String getKey() {
return key;
}

public int getValue() {
return value;
}

public void setValue(int value) {
this.value = value;
}

@Override
public String toString() {
return key + ": " + value;
}
}

class Pairs {

private static final Random RND = new Random();
private List<String> list = new ArrayList<>();
private Map<String, Pair> map = new HashMap<>();

public void addPair(String key, int value) {
list.add(key);
map.put(key, new Pair(key, value));
}

public Pair getPair(String key) {
return map.get(key);
}

public Pair getRandomPair() {
return map.get(list.get(RND.nextInt(list.size())));
}
}

以及用法:

Pairs pairs = new Pairs();
pairs.addPair("Padded", 1);
pairs.addPair("Leather", 2);
pairs.addPair("Hide", 4);
pairs.getPair("Hide").setValue(3);
System.out.println(pairs.getPair("Hide").getValue());
System.out.println(pairs.getRandomPair());

关于java - 随机选择键值对的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32929155/

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