0
点赞
收藏
分享

微信扫一扫

Steam流noneMatch,anyMatch

茗越 2023-05-14 阅读 70

public static void main(String[] args) {
        minuteList();
    }

    /**
     * 差集  :noneMatch {5,6}
     * 交集  :anyMatch  {1,2,3,4}
     */
    public static void minuteList(){
        List<Integer> list1 = Arrays.asList(1, 2, 3, 4,5,6);

        List<Integer> list2 = Arrays.asList(1, 2, 3, 4,8);

        Predicate<Integer> p1 = l1 -> list2
                .stream()
                .noneMatch(item -> (l1).equals(item));
//        Predicate<Integer> p1 = l1 -> list2.stream().anyMatch(item -> (l1).equals(item));
        List<Integer> collect = list1.stream().filter(p1).collect(Collectors.toList());


        Predicate<Integer> p2 = l2 -> list1.stream().noneMatch(item -> (l2).equals(item));
        // collect = list2.stream().filter(p2).collect(Collectors.toList());
        collect.forEach(System.out::println);


//        List<Person> filteredPeople = people.stream()
//                .filter(person -> Arrays.stream(targetNames).noneMatch(name -> name.equals(person.getName())))
//                .collect(Collectors.toList());
        List<Integer> collect1 = list2.stream().filter(str -> list1.stream().noneMatch(item -> str.equals(item))).collect(Collectors.toList());
        collect1 = list1.stream().filter(str -> list2.stream().noneMatch(item -> str.equals(item))).collect(Collectors.toList());
        //    collect1.forEach(System.out::println);
    }

举报

相关推荐

0 条评论