zoukankan      html  css  js  c++  java
  • 不要在 foreach 循环里进行元素的 remove / add 操作。 remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁。

    反例:
    List<String> a = new ArrayList<String>();
    a.add("1");
    a.add("2");
    for (String temp : a) {
    if("1".equals(temp)){
    a.remove(temp);
    }
    }
    说明:以上代码的执行结果肯定会出乎大家的意料,那么试一下把“1”换成“2”,会是同样的
    结果吗?
    正例:
    Iterator<String> it = a.iterator();
    while(it.hasNext()){
    String temp = it.next();
    if(删除元素的条件){
    it.remove();
    }
    }

  • 相关阅读:
    偏函数
    装饰器
    排序
    匿名函数
    参数传递
    pass语句
    不定长函数
    通用函数
    不定长参数(元祖)
    不定长参数(字典)
  • 原文地址:https://www.cnblogs.com/amos-s/p/6387416.html
Copyright © 2011-2022 走看看