解决迭代的更好方法

时间:2019-03-17 13:33:15

标签: java collections java-stream

List<emp1> empList=new ArrayList<>();
        empList.add(new emp1(1,"code1","a1"));
        empList.add(new emp1(2,"code2","a2"));
Set<emp1> empSet=new HashSet<>();
        empSet.add(new emp1(1,"code3","a3"));

for(emp1 e:empList) {
            for(emp1 a:empSet) {
                if(e.getB().equals(a.getB())||e.getA()==a.getA()||e.getC().equals(a.getC())) {
                    System.out.println("equals");
                }
            }
        }

class emp1{
    int a;
    String b;
    String c;

如何使用lambda或其他更好的方法来实现这一目标? 它应该比较列表中的每个元素以进行设置并确定其是否存在? 需要比较每个元素a,b,c(如果存在)应该返回等于

1 个答案:

答案 0 :(得分:0)

即使他forEach并没有多大意义,但您可以通过以下方式获得它:

    empList.stream()
            .filter(empSet::contains)
            .map(a -> "equals")
            .forEach(System.out::println);