gpt4 book ai didi

java - 迭代每个键有多个值的 HashMap

转载 作者:行者123 更新时间:2023-12-02 11:25:53 25 4
gpt4 key购买 nike

我目前正在大学学习集合和 map (仍在使用 Java 7)。

他们给了我们一个完成了一半的待办事项列表应用程序来完成。目前,待办事项列表采用三个字符串局部变量来允许用户声明一项工作 (aJob)、执行该任务的时间 (aTime) 和执行该任务的日期 (aDate)。

该应用程序还有一个实例变量(今天),用于保存今天的日期。

我需要想出一种方法来检查 HashMap 中是否有今天到期的任务。因此,我需要能够仅查询 aDate 局部变量所归属的 HashMap 值。

我知道要迭代映射,我可以将键或值放入一个集合中,然后迭代该集合 - 这不是问题。但是,如果我使用 value() 方法(在 Map 类中)将它们放入一个集合中 - 它将每个键的所有三个字符串放入集合中。我只想将 aDate 值移动到一个集合中。

有什么想法吗?

我似乎只能找到 map 只有一个键和一个值的示例。该列表有一个键,每个键有三个值。

有什么指示会很好​​吗?

亲切的问候

编辑......

我只是想添加一些代码来提供帮助,因为有几种不同的方法 - 我对此非常感激。但不确定它们是否适合我的需求......

作业类是这样构建的......

public Job(String aJob, String aDate, String aTime)
{
Job = aJob;
date = aDate;
time = aTime;
}

然后,我在“待办事项列表”类的实例声明中创建 map ...

Map<Integer, Job> toDoList = new HashMap<>();

所以我需要知道迭代此 map 的最佳方法,但只有 Job 属性“aDate”可能会保存我想要的值。

不确定这是否有帮助?

亲切的问候

最佳答案

如果确实允许您使用的唯一结构是一个 Map,其中每个键都有 3 个值(如果我理解正确的话就是这种情况),其中只有一个是日期,从技术上讲,您可以执行以下操作:

map.values()
.stream()
.filter(Date.class::isInstance)
...whatever else you want to do

其他建议的解决方案在设计方面要好得多。

关于java - 迭代每个键有多个值的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49633829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com