我有两个列表,例如listAlistA1listA包含类型为A的对象,而listA1也包含类型为A的对象,但是listA通过添加了类A的对象Java代码和listA1通过将JSON字符串转换为A类来添加A类对象。

现在,我需要比较listAlistA1。如果listA包含任何也在listA1中的对象,我需要删除该对象,并返回listA以及所有不在listA1中的对象。

如何用Java实现呢?

最佳答案

请在您的类equals上实现(重写)A方法,如下所示。完成后,contains方法应该会有所帮助。

  public boolean equals(A a){
       boolean bEqual = false;
       if(this.value1!= null && a.value1!= null &&
          this.value1.eqauls(a.value1)
          ........
          ........
        ) {
          bEqual = true;
        }
        return bEqual;
   }


编辑:

迭代listA1的元素。如果listA中存在它们,请将其删除。

   for(A a: listA1){
     if(listA.contains(a)){
        listA.remove(a);
     }
   }

关于java - 如何比较Java中两个不同列表中的Objects值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12832414/

10-12 07:18