java中对象列表的相等条件

java中对象列表的相等条件,java,java-8,Java,Java 8,我正在寻找迭代列表并在java中检查对象列表的某些条件的解决方案 注意:我提到它是表,因为我们通过java从数据库中获取记录,并迭代检查条件 例如,该列表包含带有以下代码的以下记录 Id name 1 Tom 2 Jack 3 Tom public class ListObjects { private boolean checkEqual(List<Client> clientList){ for(Client c

我正在寻找迭代列表并在java中检查对象列表的某些条件的解决方案

注意:我提到它是表,因为我们通过java从数据库中获取记录,并迭代检查条件

例如,该列表包含带有以下代码的以下记录

Id     name
1      Tom
2      Jack
3      Tom

public class ListObjects {
     private boolean checkEqual(List<Client> clientList){
         for(Client clientName : clientList) {
             if(clientName.equals("Tom") && clientName.equals("Jack")){
                 System.out.println("Validation success");
             }
         }
     }
}
Id名称
1汤姆
2杰克
3汤姆
公共类ListObjects{
专用布尔值checkEqual(列表客户端列表){
for(客户端客户端名称:客户端列表){
if(clientName.equals(“Tom”)和&clientName.equals(“Jack”)){
System.out.println(“验证成功”);
}
}
}
}
如何检查上述代码中java对象列表的名称条件


TIA.,

在对象内部,您可以执行以下操作:

public class MyObject{
    //your classes code here

    public boolean equals(MyObject toCompare){
        return this.name.equals(toCompare.name);
    }
}
在另一个类中,您需要检查这些条目:

if(object1.equals(object2)){
    //whatever you want to do if they are equal
}
编辑:

在示例代码中,循环遍历列表中的所有客户机,并在每个客户机上检查其姓名是否为tom和jack。但这没有意义,因为客户不能同时是汤姆和杰克。我想你想做的是:

public class ListObjects {
     private boolean checkEqual(List<Client> clientList){
         for(Client clientName : clientList) {
             if(clientName.name.equals("Tom") || clientName.name.equals("Jack")){
                 System.out.println("Validation success");
             }
         }
     }
}
公共类ListObjects{
专用布尔值checkEqual(列表客户端列表){
for(客户端客户端名称:客户端列表){
if(clientName.name.equals(“汤姆”)| | clientName.name.equals(“杰克”)){
System.out.println(“验证成功”);
}
}
}
}
此外,您还需要执行clientName.name来访问clientName。在for循环中,clientName只是一个完整的客户端

另一编辑:

如果您使用上面的equals方法,您可以

private boolean checkEqual(List<Client> clientList){
     return clientList.contains("Tom") || clientList.contains("Jack");
}
private boolean checkEqual(列表clientList){
return clientList.contains(“汤姆”)| clientList.contains(“杰克”);
}

如果tom或jack在列表中,这将是真的

您自己尝试过解决这个问题吗?它带有
数据库
标志,因此我想更好的方法是使用sql进行检查(尽管只有RDBMS)。我也不知道是否需要知道是否有重复项,或者需要索引,或者什么?我们将它标记为数据库,因为我提到了数据库记录。我正在寻找通过Java检查的解决方案,因此您希望检查object1.name==object3.name?@Alan最好检查
object1.name.equals(object3.name)
…是的。这是我的要求,如何用更好的方法检查对象列表的条件。检查编辑,有更好的方法谢谢Alan的建议。