ArrayLists and returning null

来源:爱站网时间:2021-09-16编辑:网友分享
我正在尝试完成方法'priority',该方法应返回任务的优先级。如果指定的名称不存在,则返回null(如主体所示)。我尝试遍历...

问题描述


我正在尝试完成方法'priority',该方法应返回任务的优先级。如果指定的名称不存在,则返回null(如主体所示)。我试图遍历ArrayList,但是我不认为这是这样做的方法。有谁可以帮助我吗?

class Task
{
    public static final ArrayList ALL_TASKS = new ArrayList();

    private String name;
    private Integer priority;

    public Task(String name, Integer priority)
    {
        ALL_TASKS.add(this);
        this.name = name;
        this.priority = priority;
    }

    public String toString()
    {
        return "name: " + this.name + "\tpriority: " + this.priority;
    }
}

class Main
{
    public static void main(String[] arguments)
    {
        new Task("Clean", 5);
        new Task("Dishwash", 4);
        new Task("Study", 1);
        System.out.println(Task.priority("Dishwash"));
        System.out.println(Task.priority("Vacuumclean"));
    }

}

思路一:


尝试一下:

public static Integer priority(String name) {
    for(Task task : ALL_TASKS) {
        if(task.name.equals(name)) {
            return task.priority;
        }
    }
    return null;
}

或使用Stream-API:

public static Integer priority(String name) {
    return ALL_TASKS.stream()
            .filter(task -> task.name.equals(name))
            .map(task -> task.priority)
            .findFirst()
            .orElse(null);
}

思路二:


public static Integer priority(String name) {
        for(int i = 0; i  would be better
        }
    }

这是我要使用的示例。它没有经过测试,但是可以让您知道是什么创造出来的以及思维方式。

也在我的解决方案中,我还假设您还为getName()创建了getPriority()Task方法

上一篇:Java中ArrayList内的HashMap获得覆盖

下一篇:二进制搜索不会停止吗?

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载