从List或ArrayList中查找并返回与给定条件匹配的对象

时间:2017-04-19 20:36:06

标签: android arraylist

我有一个对象(任务)列表,我想找到并返回与给定ID匹配的任务(如果存在)。在这种情况下,ids是字符串。

我知道我可以遍历列表项,但我想知道是否有更有效的方法来实现这一点,因为我在另一个循环中使用它。

我已经阅读过关于在Task类中覆盖equals方法的内容,但这对于查明任务是否存在非常有用,我也想将其返回,以便我可以编辑它。我还没有找到任何实际返回对象的东西。

我没有为我要问的内容编写任何代码,但这里是我要插入的代码:

    List<Task> serverTasks;
    List<LocalTask> localTasks;
    Task currentTask;
    LocalTask currentLocalTask;

    // Loop through list of lists
    for (int i = 0; i < lists.size(); i++) {

        //Get server tasks and local tasks from list
        serverTasks = mService.tasks().list(lists.get(i).getId()).execute().getItems();
        localTasks = mPresenter.getTasksFromList(lists.get(i).getId());

        if (serverTasks != null && !serverTasks.isEmpty()) {
            currentTask = serverTasks.get(i);

            //check if server task exists in local task list
            if (mPresenter.taskExistsInDB(currentTask.getId())) {
                //here I'd like to get the local task from the local task list 
                // based on the server task Id (which is the same)
                //WITHOUT making a database query or looping through the local task list

            }
        }
    }

提前致谢

0 个答案:

没有答案