Java中stream流之filter方法如何使用外部对象作为判断依据呢?
下文笔者讲述filter中将外部对象作为条件检索的方法分享,如下所示
filter过滤原理
filter过滤: 其实是对stream中每一行记录,进行依次对比, 对比的逻辑由读者自行编写 当然可以编写多行,也可以只编写一行 多行逻辑,需使用大括号包含起来 并且逻辑必须返回true或false 作为filter过滤的依据例:filter过滤的示例
// 对比两个列表 list<TestClassA> testClassAList; List<TestClassB> testClassBList; List<TestClassA> updateList = testClassAList.stream().filter(e -> { for (TestClassB testClassB : testClassBList) { if (!e.getUserId().equals(testClassB.getUserId())) { continue; } if (!e.getEffectiveFrom().equals(testClassB.getEffectiveFrom()) || !e.getEffectiveTo().equals(testClassB.getEffectiveTo())) { return true; } } return false; }).collect(Collectors.toList());
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。