在对象数组中找到对象变量的特定值的最快方法

时间:2015-09-12 18:08:06

标签: java

我有ArrayList个自定义对象,我称之为Questions。这些Questions包含问题,ID的唯一ArrayListAnswers。现在,我尝试使用特定的唯一ID搜索问题。这就是我目前正在做的事情,但我担心这可能需要很长时间才能找到一个大清单,所以我想知道是否有更快的方法来做到这一点。

public Question getQuestion(String idLookingFor) {
    for (Question question : questions) {
        if (question.getId().equals(idLookingFor))
            return question;
    }
    return null;
}

1 个答案:

答案 0 :(得分:5)

您可以使用HashMap存储有关ID as keyQuestion as value的信息。我假设,ID存储为Interger

Map<Integer, Question> map = new HashMap<>();

Map会为您提供O(1)时间复杂度来搜索问题。