java - 如何检查对象 ArrayList 是否包含没有循环的对象的单个属性

标签 java arrays list search arraylist

Here is the answer of this question but I need is there any other way

假设Person是一个包含属性的类

  • 人员编号
  • 人名
  • 个人地址

一个 ArrayList 包含 thousand person 对象,我想检查“11”personId 是否在 ArayList 中?

一种方法是迭代(循环)arraylist 并逐个检查。

还有其他方法可以解决吗?

最佳答案

在您的 POJO 中覆盖 equals() 和 hashcode() 方法以获取 person Id

例如:

import java.util.ArrayList;

public class Test {
private int personId;
private String name;
//getters and Setters



@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + personId;
    return result;
}
@Override
public boolean equals(Object obj) {
    if (this == obj)
       return true;
    if (obj == null)
       return false;
    if (getClass() != obj.getClass())
       return false;
    Test other = (Test) obj;
    if (personId != other.personId)
       return false;
    return true;
}
public static void main(String[] args) {
    ArrayList<Test> test=new ArrayList<Test>();

Test t=new Test();
t.setName("Sireesh");
t.setPersonId(1);

Test t1=new Test();
t1.setName("Ramesh");
t1.setPersonId(2);

Test t2=new Test();
t2.setName("Rajesh");
t2.setPersonId(3);


test.add(t);
test.add(t1);
test.add(t2);

Test tx=new Test();
tx.setPersonId(1);
System.out.println(test.contains(tx));
//Returns true

}
}

关于java - 如何检查对象 ArrayList 是否包含没有循环的对象的单个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28498326/

相关文章:

java - 从 Java 应用程序发送时未在服务器中获取正确的 json

java - 如果我的大部分 Activity 方法都是私有(private)的,如何在 Android 中实践 TDD?

c++ - 只能检查我的数组的第一个元素

python - 调整不包括 NaN 的 2D numpy 数组的大小

R - 列表与重复项的组合?

java - 比较两个通用对象,如果一个是 "greater"或 "smaller"

java - 有没有办法使构造函数中的参数可选?

java - 如何在Java中并发使用SQLite?哪个是为此目的最好的 wrapper ?

javascript - 如何将对象迭代到对象数组

r - 我想用一个列表来计算去看每部电影的人的平均年龄