java8 拆分list
时间: 2023-05-04 07:02:04 浏览: 134
在Java8中,可以通过Stream API的特性来拆分List。拆分List有很多种方式,下面介绍两种常用的方式:
1.使用Stream的skip和limit方法
skip和limit方法是Stream API提供的两个方法,skip方法可以跳过前面指定的元素,而limit方法可以返回指定数量的元素。
例子:
假设有一个List<String>,需要拆分成两个List<String>,一个包含前三个元素,另一个包含剩余的元素,可以使用以下代码:
List<String> originalList = Arrays.asList("a","b","c","d","e","f");
List<String> firstList = originalList.stream().limit(3).collect(Collectors.toList());
List<String> secondList = originalList.stream().skip(3).collect(Collectors.toList());
2.使用Stream的collect方法和Collectors的partitioningBy方法
partitioningBy方法是Collectors类提供的一个方法,它可以将Stream中的元素按照指定条件进行分组,返回一个Map<Boolean, List<T>>对象。
例子:
假设有一个List<Integer>,需要将其中大于等于5的元素放到一个List<Integer>中,其余的放到另一个List<Integer>中,可以使用以下代码:
List<Integer> originalList = Arrays.asList(1,2,3,4,5,6,7,8,9);
Map<Boolean, List<Integer>> map =
originalList.stream().collect(Collectors.partitioningBy(i -> i >= 5));
List<Integer> greaterOrEqualToList = map.get(true); //包含大于等于5的元素的List
List<Integer> lessThanList = map.get(false); //包含小于5的元素的List
总之,Java8提供了强大的Stream API,可以方便地处理List等数据结构。拆分List可以使用Stream的skip和limit方法或者collect方法和Collectors的partitioningBy方法来实现。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.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)
![](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)