在arraylist中查找和显示元素

时间:2013-04-05 12:37:15

标签: java arraylist

有没有简单的方法来搜索arraylist? 我看到有很多事情要处理像removeAll()这样的集合,而add()有这样的东西可以用来搜索列表

2 个答案:

答案 0 :(得分:2)

UserArchive类添加一个循环遍历列表的方法,并将每个用户ID与传入的用户ID进行比较。

public User findById(int id) {
    for (User u : list) {
        if (u.getCustomerID() == id) {
            return u;
        }
    }
    return null; // or empty User
}

答案 1 :(得分:0)

您可以选择在循环中执行if并在循环中查看User的每个实例的id:

for (User user : list) {
    if (user.getCustomerID == [The id to lookup]) {
       // Whatever you want to do
    }
}

或者您可以覆盖User类的equals()方法并解锁 如果您比较User的另一个实例而不是CustomerID,则List.contains函数。

equals'函数标题说:

  

如果此列表包含指定的元素,则返回true。更多   正式地,当且仅当此列表包含至少一个时才返回true   元素e使得(o == null?e == null:o.equals(e))。

这就是你必须为你的对象重写equals的原因。很多函数对对象使用equals(),如果你关心结果是好的,你必须覆盖函数。

// Or whatever instance of User you want to compare
User custToLookup = new User(idToLookup, "", "", "");

// You could stop here if you only want to know if the instance exist in the list
if (list.contains(custToLookup)){
    for (User user : list) {
        if (user.equals(custToLookup) {
            // Whatever you want to do
        }
    }
}

*编辑:忘了一些话