java list 随机获取n个_java – 从列表中取n个随机元素?
时间: 2024-05-06 19:18:34 浏览: 7
可以使用Java的Collections.shuffle()方法来打乱列表中的元素顺序,然后再取前n个元素即可。以下是示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class RandomListElements {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
int n = 3; // 取3个随机元素
Collections.shuffle(list); // 打乱列表顺序
List<Integer> result = list.subList(0, n); // 取前n个元素
System.out.println(result);
}
}
```
输出结果可能为:[2, 5, 1]
相关问题
java list随机获取元素
可以使用Java中的Random类和List的size()方法来实现随机获取List中的元素,具体代码如下:
```
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("元素1");
list.add("元素2");
list.add("元素3");
list.add("元素4");
list.add("元素5");
Random random = new Random();
int index = random.nextInt(list.size());
String element = list.get(index);
System.out.println("随机获取的元素是:" + element);
}
}
```
运行结果可能是:
```
随机获取的元素是:元素3
```
java数组中获取三个随机索引不重复
可以采用以下方法获取三个随机索引不重复:
1. 首先创建一个大小为数组长度的布尔类型数组,用于标记该元素是否已经被选中。
2. 创建一个空的整型列表,用于存放选中的索引。
3. 使用循环,生成随机数并将其转换为整型索引值。如果该索引值没有被选中,则将其添加到列表中,并将标记数组对应位置设为 true;否则继续生成随机数,直到找到一个未选中的索引。
4. 当列表中的元素数量达到三个时,退出循环。
以下是代码示例:
```java
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
boolean[] selected = new boolean[arr.length];
List<Integer> indexes = new ArrayList<>();
Random random = new Random();
while (indexes.size() < 3) {
int index = random.nextInt(arr.length);
if (!selected[index]) {
indexes.add(index);
selected[index] = true;
}
}
for (int i : indexes) {
System.out.println(arr[i]);
}
```
注意:以上代码假设数组中的元素不重复,如果有重复元素则需要额外的处理。