gpt4 book ai didi

java - 我可以使用哪个 Java 集合?

转载 作者:行者123 更新时间:2023-12-02 07:48:51 24 4
gpt4 key购买 nike

我需要存储一组由时间段(开始、结束)定义的数据结构以及该时间段的计数器,用于保存一些复杂的计算结果。数据结构的简化定义如下:

public class CounterBag {
private Period period; // collection key
private Counter counter;
// accessors
// ...
}

期间很简单:

public class Period {
public DateTime start;
public DateTime end;
// accessors
// ...
}

我需要一个集合来保存由不同Periods定义的CounterBag对象。该集合需要通过 long timeInMillis 提供有效的查找(这里是问题!),因此 HashMap 并不是真正的选择,因为我不想覆盖 equalsCounterBaghashcode (我需要它们)。该集合需要按Period(按结束日期)排序。 周期具有灵活的持续时间,执行查找的部分不知道该持续时间。

我想知道java标准API或某些开源库中是否有开箱即用的集合可以帮助我解决这个问题?某种排序集或排序映射能够实现按日期高效查找。按日期查找将返回一个 CounterBag,其中包含日期所在的 Period

感谢您的建议。

最佳答案

您可以使用 TreeMap 作为其排序集合(这使得查找高效)

如果您的经期有规律的间隔(这是最简单的形式),您不需要这样的集合。您可以为每个间隔设置一个计数器。例如一个int[]

关于java - 我可以使用哪个 Java 集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10572201/

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