java - 从属性中删除元素

标签 java properties

为了避免ConcurrentModificationException ,我正在诉诸以下内容:

        List<String> tobeRemoved = new ArrayList<String>();

        for (Object propertyKey : suppliedContent.keySet()) {
            key = (String) propertyKey;

            if (EqualityUtils.isMatching(rgx, key)) {
                tobeRemoved.add(key);
            }
        }

        for (String o : tobeRemoved) {
            suppliedContent.remove(o);
        }

有没有更简洁的方法?

最佳答案

我认为使用 iterator 并在匹配时调用 iterator 上的 remove() 会做同样的事情。

Iterator<String> supplieIter  = suppliedContent.keySet().iterator();

    while(supplieIter.hasNext()){
        key = supplieIter.next();

        if (EqualityUtils.isMatching(rgx, key)) {
           supplieIter.remove()
        }
    }

编辑:手写代码。可能存在语法错误。

关于java - 从属性中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12283267/

相关文章:

java - 如何在 jshell 中使用/设置截断命令中的选择器?

java - Ant/Jooq Generator - 使用 maven 导入的 jooq 库的路径

java - 我如何知道用户在我的 Android 应用程序上使用 firebase-ui 时是否已经创建了帐户?

jquery - 如何在不重新加载的情况下重置 HTML 页面中的标题?

java - 在 Git 中创建新分支进行单元测试是一个好习惯吗?

java - 多类别计算器

java - 加载特定于环境的属性以与 PropertyPlaceholderConfigurer 一起使用?

C# 设置程序集中所有类型都可访问的访问器,并仅获取派生类型的访问器。如何?

java - 你如何转义冒号(:) in Properties file?

powershell - Get-ItemProperty 然后提取属性 NAME