gpt4 book ai didi

java - 从数组中获取随机列表?

转载 作者:行者123 更新时间:2023-11-30 03:08:41 26 4
gpt4 key购买 nike

所以,我的代码是这样的:

import java.util.Random;
String[] arr= (vars.get("Types")).split(";");
int idx = new Random().nextInt(arr.length);
String type = (arr[idx]);
vars.put("b_type", type);

数组看起来像这样

` arr = {"id":1, "type_1":1},{"id":2, "type_2":2},{"id":3, "type_3":3},{"id":4, "type_4":4},...'

有人可以帮忙吗?我需要从数组 'arr' 中获取随机 arr2。

它可能是一个元素,例如

`arr1 = {id:value, type_1:value}`

或其中一些,即

`arr1 = [{"id":1, "type_1":1},{"id":4, "type_4":4}]`

或等效的 arr1 = arr

最佳答案

首先需要一个随机整数值来指示数组元素的数量,然后生成随机元素并插入到新数组中。

//number of elements in result array
int count = new Random().nextInt(arr.length);


ArrayList<String> result = new ArrayList<String>();
for(int i=0; i<count; i++){
//random index of element that must be added to result
int index = new Random().nextInt(arr.length);
result.add(arr[index]);
}

只需确保结果数组中的元素不重复即可。

这是一个解决方案:将数组元素插入 ArrayList 以便您可以编辑元素

ArrayList<String> myarray = new ArrayList<String>();
for(int i=0; i<arr.length; i++){
myarray.add(arr[i]);
}

然后在 for 中:

for(int i=0; i<count; i++){
//random index of element that must be added to result
int index = new Random().nextInt(myarray.length);
result.add(myarray[index]);
myarray.remove(index);
}

关于java - 从数组中获取随机列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34134414/

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