gpt4 book ai didi

具有最后修改时间的 Java 集合数据结构

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

我们是否有一个 java 集合库,它返回添加到集合中的对象的最后修改/插入日期。

例如

TimeBasedSet<Foo> foos = new TimeBasedSet<>();
foos.add(foo1); //executed at t1
foos.add(foo2); //executed at t2
foos.add(foo1); //executed at t3

foos.lastModifiedDate(foo1); //returns t3
foos.lastModifiedDate(foo2); //returns t2
foos.insertedDate(foo1); //returns t1
foos.insertedDate(foo2); //returns t2

最佳答案

我不知道任何现有的实现。

要实现您自己的,只需创建一个实现 set 接口(interface)的新类。

public class TimeBasedSet implements Set<E> { ... }

您可以在该类中为值元素类型创建嵌套类(非静态),如下所示:

private class Val {
public E element; //public out of laziness since its nested/private.
public Date creationDate;
public Date lastModifiedDate;
}

值元素可以存储您实际尝试存储的值类型(无论 map 接口(interface)实现中的 E 是什么)以及时间的元数据。

然后,当您覆盖 add/get 时,您调用 set add/get 并在之后立即存储新时间。

之后,您只需要几个函数来查找时间。

关于具有最后修改时间的 Java 集合数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34776408/

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