java list几个平均分配
时间: 2023-07-20 22:30:55 浏览: 47
如果您想将一个Java List分成n个部分并平均分配,请使用以下代码:
```java
public static <T> List<List<T>> splitList(List<T> list, int n) {
List<List<T>> result = new ArrayList<>();
int size = list.size();
int quotient = size/n;
int remainder = size%n;
int offset = 0;
for(int i = 0; i < n; i++) {
int len = quotient + (i < remainder ? 1 : 0);
if(len > 0) {
result.add(list.subList(offset, offset + len));
offset += len;
}
}
return result;
}
```
这个方法接收一个List和一个整数n作为参数,并返回一个包含n个List的List,每个List包含原始List的项的平均分配。如果原始List不能被n整除,则前remainder个List将包含一个额外的项。
相关问题
Java list集合平均分配
如果你想要将一个 Java List 集合平均分配成 N 份,可以使用以下代码:
```java
public static <T> List<List<T>> splitList(List<T> list, int n) {
int size = list.size();
int quotient = size / n;
int remainder = size % n;
int offset = 0;
List<List<T>> resultList = new ArrayList<>(n);
for (int i = 0; i < n; i++) {
int length = quotient + (remainder-- > 0 ? 1 : 0);
if (length > 0) {
resultList.add(list.subList(offset, offset + length));
offset += length;
}
}
return resultList;
}
```
这个方法接受一个 List 集合和一个整数 N 作为参数,并返回一个 List,其中每个元素都是一个 List 集合,包含了原始 List 集合的元素,被平均分配到 N 份中。如果原始 List 集合的大小不能被 N 整除,则前 remainder 份集合将包含一个额外的元素。
Java List平均分为多个List
可以通过以下方法将一个Java List平均分为多个List:
```java
public static <T> List<List<T>> splitList(List<T> list, int size) {
List<List<T>> result = new ArrayList<>();
int totalSize = list.size();
int count = (totalSize + size - 1) / size; // 计算需要拆分成几个List
for (int i = 0; i < count; i++) {
int fromIndex = i * size;
int toIndex = Math.min((i + 1) * size, totalSize); // 最后一个List可能不足size个元素
result.add(list.subList(fromIndex, toIndex));
}
return result;
}
```
其中,`list` 是待拆分的 List,`size` 是每个 List 的大小。该方法返回一个 List,其中包含拆分后的多个 List。例如,如果将一个包含 10 个元素的 List 平均拆分成 3 个 List,则拆分结果为:
```
[[0, 1, 2], [3, 4, 5], [6, 7, 8, 9]]
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)