优雅的使用Java从List均匀分三段随机取分段中的一条数据,最后取得三条数据代码实现
时间: 2023-12-10 14:38:41 浏览: 90
java list随机抽取元素的案例
5星 · 资源好评率100%
以下是我写的一个Java程序,可以实现将一个List均分为三段,并从每一段中随机取一条数据,最终得到三条数据的操作:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 随机生成一个包含10个元素的List
List<String> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add("Data " + i);
}
// 将List分为三段
int size = list.size();
int segmentSize = size / 3;
List<List<String>> segments = new ArrayList<>();
int index = 0;
for (int i = 0; i < 3; i++) {
List<String> segment = list.subList(index, index + segmentSize);
segments.add(segment);
index += segmentSize;
}
// 随机选择每一段中的一条数据
Random random = new Random();
List<String> result = new ArrayList<>();
for (List<String> segment : segments) {
int randomIndex = random.nextInt(segment.size());
String data = segment.get(randomIndex);
result.add(data);
}
// 输出结果
System.out.println(result);
}
}
```
上述程序首先生成一个包含10个元素的List,然后将List分为三段,每一段中的元素个数尽可能相等。接着,程序使用Random类生成一个随机数,从每一段中随机选择一个元素。最终,程序将这三个元素组成一个List并输出。
阅读全文