zoukankan      html  css  js  c++  java
  • Java 循环遍历删除set list中的元素

    删除List和Set中的某些元素

    错误代码的写法:

    Set<String> set = new HashSet<String>();
    set.add("aaaaaa");
    set.add("bbbbbb");
    set.add("cccccc");
    set.add("dddddd");
    set.add("eeeeee");
    set.add("ffffff");
    set.add("gggggg");
    for (String str : set) {
        if ("dddddd".equals(str)) {
            set.remove(str);
        }
    }

    运行报错:

    Exception in thread "main" java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
        at java.util.HashMap$KeyIterator.next(HashMap.java:828)
        at test2.Test1.main(Test1.java:16)

    使用如上方式遍历的时候,不能增加、删除set中的数据

    正确代码的写法

    Set<String> set = new HashSet<String>();
    set.add("aaaaaa");
    set.add("bbbbbb");
    set.add("cccccc");
    set.add("dddddd");
    set.add("eeeeee");
    set.add("ffffff");
    set.add("gggggg");
    Iterator<String> it = set.iterator();
    while (it.hasNext()) {
        String str = it.next();
        if ("dddddd".equals(str)) {
            it.remove();
        }
    }
    for (String str : set) {
        System.out.println(str);
    }

    输出:

    aaaaaa
    ffffff
    eeeeee
    bbbbbb
    cccccc
    gggggg
  • 相关阅读:
    R语言 which() 、 which.min() 、 which.max() 函数
    R rep() 函数
    R语言 一个向量的值分派给另一个向量
    R语言 sample抽样函数
    超参数 hyperparameters
    随机游走模型(Random Walk)
    随机数
    Lambda 函数与表达式
    static
    变量的申明定义
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/4332174.html
Copyright © 2011-2022 走看看