java - 我想使用匿名类检查我的列表是否包含某些值

标签 java data-structures

我有某个类的列表结构;假设 List<Client> myList;Client具有类似 name 的字段和passwd 。 如果我想检查我的列表中是否包含具有这些内容的类(class),我该如何检查?因为我正在尝试使用 myList.contains(new Client(name,surname)) ,而且似乎不起作用。

for(DBClient client : register.getALl()){
     System.out.println(client);
}
System.out.println(check[0]+" "+check[1]);
if(register.getALl().contains(new DBClient(check[0],check[1]))){

我应该检查类的所有变量是否等于我的变量,还是可以以某种方式检查它?

最佳答案

这是 JDK ArrayList 在 contains(Object t) 中的实现

public int indexOf(Object o) {
    if (o == null) {
        for (int i = 0; i < size; i++)
            if (elementData[i]==null)
                return i;
    } else {
        for (int i = 0; i < size; i++)
            if (o.equals(elementData[i]))
                return i;
    }
    return -1;
}

所以,这取决于您的对象的 equal() 方法。

关于java - 我想使用匿名类检查我的列表是否包含某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55479810/

相关文章:

java - 如何在 JPA 2.0 中自动检测实体

java - Java 8 与 Java 7 中的 Math.pow 性能

java - 将信息写入文本文件

javascript - 所有可能的数组组合算法(匈牙利语,蛮力)

javascript/canvas : draw polylines in real-time, 什么是最优数据结构?

postgresql - 大数据集(PostgreSQL)中行中的列——转置?

java - 为 Java 表达式求值器提供通用实现

java - 为什么在 ByteBuffer.allocateDirect(10).array() 上出现 UnsupportedOperationException

javascript - 在 JavaScript 中访问和存储数据集

java - 如何删除二叉树