gpt4 book ai didi

java - 如何获取TreeMap中超过某个键的值

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

我有一个 TreeMap,其键、值对作为 SessionIdNode

private class SessionNode 
{
String sessionid;
Timestamp time;


private SessionNode (String sessionid, long d)
{
this.time = new Timestamp(d);
this.sessionid = sessionid;
}


public int hashCode()
{
return sessionid.hashCode();

}

public boolean equals(SessionNode node)
{
return this.sessionid.equals(node.sessionid);
}


}

此类在 TreeMap 内部使用,如下所示:

private final Comparator< SessionNode> sessionNodeComparator = new Comparator<SessionNode>() {
@Override public int compare(SessionNode s1, SessionNode s2)
{
return ((SessionNode)s1).time.compareTo(s2.time);
}
};

private Map <SessionNode , SessionNode> map = new TreeMap <SessionNode , SessionNode>( sessionNodeComparator);

现在,我的问题是,它根据自定义比较器对 SessionNode 进行排序,这本质上是根据时间。

现在假设给定时间 t1,我需要删除树形图中 SessionNode 时间戳值 > t1 的所有键。

我该如何实现这个目标?任何帮助将不胜感激。

谢谢。

最佳答案

map.tailMap(new SessionNode(null, t1), false).clear();

关于java - 如何获取TreeMap中超过某个键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15957906/

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