java - 删除小于 x 的 TreeMap 条目

标签 java map treemap

我有以下 TreeMap:

private Map<Date,WeekSchedule> weeks = new TreeMap<Date,WeekSchedule>();

我需要删除所有日期早于给定值的条目。

最有效的方法是什么?

这是我目前所拥有的:

public void removeWeeksBefore(Date monDate){
    for (Map.Entry<Date, WeekSchedule> entry : weeks.entrySet()){
        if(entry.getKey().before(monDate)){
            weeks.remove(entry.getKey());   //This will destroy the iterator
        }else{
            return;
        }
    }
}

最佳答案

有效的方法可能是将其存储为SortedMap,然后使用单行

map.headMap(monDate).clear();

关于java - 删除小于 x 的 TreeMap 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23936636/

相关文章:

java - JSP 进度条

java - 在 H2 插入语句中转义完整字符串

java - 我正在尝试使用 Java 从 Oracle SQL 生成 Excel 格式的数据,但我找不到方法

java - 如何将 Treemap 写为 csv

java.util.NoSuchElementException - 迭代排序的树形图

java - 使用 map 树进行 map 条目转换

java - MVC架构中如何使用线程?

mongodb - grails 应用程序中的 mondogb-morphia 问题,无法将 Map 正确存储在数据库中

java - 根据键和值对映射进行排序

python - 有时,map 是一个序列,有时不是?