gpt4 book ai didi

java - 我可以使用 Value 的属性之一作为 HashMap 中的键吗

转载 作者:行者123 更新时间:2023-12-01 21:58:51 24 4
gpt4 key购买 nike

我有一个日历 View 小部件,其中的单元格代表每一天。每个单元格都有一个 Date 对象。我还有一堆 WorkDay 对象,它们代表每个日期的工作轮类和时间表(以小时为单位)。 WorkDay 对象中有一个 Date。

我想将这些 WorkDay 对象传递给日历,并且在扩充日历时,每个单元格应通过其 Date 对象检查属于哪个工作日。

我不想 foreach WorkDay 对象组,我想使用键。

我的问题是我是否决定使用 HashMap 来存储工作日,我可以使用 WorkDay 的内部 Date 对象作为每个 HashMap 条目的键吗?

像这样

hashMap.put(workDay.getDate(), workDay);

如果这不是一个好主意,我应该使用什么数组/列表/集合/映射结构来存储 WorkDay 对象?

最佳答案

从技术上讲,使用 Date 作为 HashMap 的键没有问题,但在设计方面,您可能需要使用 Long 来表示 中的时间毫秒

这样做,您的代码将变得与日期格式无关(dd.MM.yyyyyy.MM.dd G 'at' hh:mm:ss z 等),不仅仅是在 Map 中存储紧凑的对象键(Long)。

然后,您还可以将此值转换回您想要的任何类型的对象,例如 Calendar、java Date、joda 时间等。

将其存储在数据库、平面文件系统或您正在使用的任何持久性中也更容易。

关于java - 我可以使用 Value 的属性之一作为 HashMap<Key, Value> 中的键吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33961449/

24 4 0
文章推荐: java - 当我调整大小或移动滚动条时,我的线条和椭圆消失了
文章推荐: java - JPA 按列表元素属性从实体顺序中选择 List