java如何将一个LIST拆分成多个List
时间: 2024-03-26 08:41:29 浏览: 128
可以使用Java 8的Stream API来实现拆分一个List为多个List。具体实现如下:
```java
List<String> sourceList = new ArrayList<>();
// 初始List
int partitionSize = 10; // 每个子List的大小
List<List<String>> partitionedList = IntStream.range(0, sourceList.size())
.boxed()
.collect(Collectors.groupingBy(index -> index / partitionSize))
.values()
.stream()
.map(indices -> indices.stream().map(sourceList::get).collect(Collectors.toList()))
.collect(Collectors.toList());
//拆分后的多个子List
```
其中,`partitionSize`是每个子List的大小,`sourceList`是要拆分的原始List,`partitionedList`是拆分后的多个子List。
上述代码中,首先使用`IntStream.range(0, sourceList.size())`生成一个包含0到(sourceList.size()-1)的整数流,然后通过`boxed()`将整数流转换成包装类Integer类型的流。接着,使用`Collectors.groupingBy(index -> index / partitionSize)`按照子List的索引进行分组,分组后得到一个Map<Integer, List<Integer>>,其中key表示子List的索引,value为该子List包含元素的索引集合。然后将Map的values转换成一个流,再通过`map(indices -> indices.stream().map(sourceList::get).collect(Collectors.toList()))`将每个子List的索引集合转换成子List本身。最后,使用`Collectors.toList()`将所有子List收集到一个List中。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)
![zip](https://img-home.csdnimg.cn/images/20241231045053.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)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)