Java list集合平均分配
时间: 2023-07-20 16:30:55 浏览: 49
如果你想要将一个 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几个平均分配
如果您想将一个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集合是一种有序的集合,可以存储多个元素,并且允许元素重复。List接口是Collection接口的子接口,它提供了一系列操作集合的方法。
以下是Java中List集合的一些常见操作和遍历方式的示例:
1. 使用下标遍历:
```java
List<String> list = new ArrayList<>();list.add("hello");
list.add("world");
list.add("java");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
```
2. 使用迭代器遍历:
```java
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
list.add("java");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
``3. 使用foreach循环遍历:
```java
List<String> list = ArrayList<>();
list.add("hello");
list.add("world");
list.add("java");
for (String str : list) {
System.out.println(str);
}
```
请注意,以上示例中的List集合都是使用ArrayList类实现的,但List接口还有其他实现类,如LinkedList和Vector等。