Java Stream() 兩個對象數組根據ID獲取交集


    @Test
    public void testStream01(){
        ArrayList<ChargeStudent> stu1 = new ArrayList<>();
        ArrayList<ChargeStudent> stu2 = new ArrayList<>();
        for (int i= 5;i<10;i++){
            ChargeStudent student = new ChargeStudent();
            student.setStudentName("張"+i);
            student.setSid(String.valueOf(i));
            stu1.add(student);
        }
        for (int i= 0;i<10;i++){
            ChargeStudent student = new ChargeStudent();
            student.setStudentName("王"+i);
            student.setSid(String.valueOf(i));
            stu2.add(student);
        }
        List<ChargeStudent> collect = stu1.stream().filter(o -> stu2.stream().map(ChargeStudent::getSid).anyMatch(id -> Objects.equals(o.getSid(), id))).collect(Collectors.toList());
        collect.stream().forEach(o->{
            System.out.println(o.getSid());
            System.out.println(o.getStudentName());
            System.out.println("===========");
        });
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM