javalist 对象集合拆成多个
时间: 2023-11-08 14:01:56 浏览: 202
可以使用Java Stream API将一个Java List对象集合拆分成多个子集合。下面是一个示例代码:
```java
List<String> list = Arrays.asList("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k");
int chunkSize = 3;
List<List<String>> chunks = IntStream.range(0, (list.size() + chunkSize - 1) / chunkSize)
.mapToObj(i -> list.subList(i * chunkSize, Math.min((i + 1) * chunkSize, list.size())))
.collect(Collectors.toList());
System.out.println(chunks);
```
这里将一个包含11个元素的List对象拆分成了3个子集合,每个子集合包含3个或更少的元素。输出结果如下:
```
[[a, b, c], [d, e, f], [g, h, i], [j, k]]
```
你可以根据自己的需求修改chunkSize的值来调整子集合的大小。
相关问题
javalist 对象集合拆成多个。
要将一个 Java List 对象分成多个子 List,可以使用 Java 8 中的 Stream API 和 Collectors 工具类来实现。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ListSplitter {
public static void main(String[] args) {
List<String> originalList = new ArrayList<>();
originalList.add("A");
originalList.add("B");
originalList.add("C");
originalList.add("D");
originalList.add("E");
int chunkSize = 2; // 指定每个子 List 的大小
// 使用 Stream API 将原始 List 分成多个子 List
List<List<String>> subLists = Stream.iterate(0, n -> n + chunkSize)
.limit((long) Math.ceil((double) originalList.size() / chunkSize))
.map(n -> originalList.subList(n, Math.min(n + chunkSize, originalList.size())))
.collect(Collectors.toList());
// 打印每个子 List 的元素
subLists.forEach(System.out::println);
}
}
```
这个示例代码将一个包含 5 个元素的 List 对象分成了 3 个子 List,每个子 List 的大小为 2。输出结果如下:
```
[A, B]
[C, D]
[E]
```
java怎么把一个集合按集合大小拆分成多个集合
可以使用Java 8的Stream API来实现将一个集合按照一定大小分割成多个集合的操作。具体实现代码如下:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int batchSize = 3;
List<List<Integer>> batchList = new ArrayList<>();
IntStream.range(0, (list.size() + batchSize - 1) / batchSize)
.forEach(i -> batchList.add(list.subList(i * batchSize, Math.min((i + 1) * batchSize, list.size()))));
```
以上代码将一个包含10个元素的整数集合按照大小为3分割成多个子集合,存储在`batchList`中。其中,`IntStream`可以理解为一个整数流,用于生成一个包含子集合个数的整数范围,通过`forEach`方法遍历这个范围,将每个子集合添加到`batchList`中。`subList`方法用于从原始集合中截取指定范围的子集合。
阅读全文