使用Java 8,将List/Set集合按条件拆分为多个集合的方法。

一、将List转换为两个List集合。

    Set同理也可进行转换。

//创建集合
List list = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
//使用stream流进行分组
Map> preAvg = list.stream()
        .collect(Collectors.groupingBy(x -> x < 2 || x > 4));
List tr = preAvg.get(true);
List fa = preAvg.get(false);
System.out.println("true" + tr);
System.out.println("false" + fa);
//使用filter过滤
List collect = list.stream().filter(x -> x < 2 || x > 4))
                .collect(Collectors.toList());
//输出满足过滤条件的集合数据
System.out.println("true" + collect);
//创建集合
 Set set = new HashSet<>();
 set.add(1);
 set.add(2);
 set.add(3);
 set.add(4);
 set.add(5);
//使用stream流进行分组
Map> preAvg = set.stream()
        .collect(Collectors.groupingBy(x -> x < 2 || x > 4));
List tr = preAvg.get(true);
List fa = preAvg.get(false);
System.out.println("true" + tr);
System.out.println("false" + fa);
//使用filter过滤
List collect = list.stream().filter(x -> x < 2 || x > 4))
                .collect(Collectors.toList());
//输出满足过滤条件的集合数据
System.out.println("true" + collect );

你可能感兴趣的:(使用Java 8,将List/Set集合按条件拆分为多个集合的方法。)