首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编辑的低延迟收集

编辑的低延迟收集
EN

Stack Overflow用户
提问于 2017-01-27 03:33:28
回答 1查看 34关注 0票数 0

情况如下--我需要在Java 7中维护in (String)的集合(无界/单个编写器)。

由于新的记录与一个特定的标志集(不重要)-我试图插入。

如果我在集合中找到一个预先存在的记录,我会提醒和改写。

如果新记录的标志未设置-我试图删除记录,如果存在的话。

为了提高性能,必须避免所有的查找(2步)。

插入/更新/删除尽可能接近O(1)。

HashSet会是最合适的收藏吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-27 03:42:24

如果您的代码是单线程的,HashSet应该是一个很好的匹配。抽样实施情况:

代码语言:javascript
复制
Set<String> ids = new HashSet<>();

void processRecord(Record record) {
    if (record.hasFlag()) {
        if (!ids.add(record.getId())) {
            alertDuplicate(record);
        }
    } else {
        ids.remove(record.getId());
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41886596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档