zoukankan      html  css  js  c++  java
  • 怎样删除一个集合中的对象

    问题:

    请问下面的那种方法能正确地把字符"B"从集合stringList中删除掉?

    1         List<String> stringList = new ArrayList<String>();
    2 stringList.add("A");
    3 stringList.add("B");
    4 stringList.add("C");
    5 stringList.add("B");
    6 stringList.add("D");
    7 stringList.add("E");
    8 stringList.add("B");


    方法1:

    1          for(Iterator<String> it =stringList.iterator(); it.hasNext();){
    2 String s = it.next();
    3 if (s.equals("B")) stringList.remove(s);
    4 }

    方法2:

    1         for (String s : stringList) {
    2 if (s.equals("B")) stringList.remove(s);
    3 }

    方法3:

    1         for (Iterator<String> it = stringList.iterator(); it.hasNext();) {
    2 String s = it.next();
    3 if(s.equals("B")) it.remove();
    4 }

    方法4:

    1         List<String> newList = new ArrayList<String>();
    2 for(String s : stringList){
    3 if (!s.equals("B")) newList.add(s);
    4 }
    5 stringList = newList;

    方法5:

    1         stringList.remove("B");



    答案:方法3和方法4,方法1和2会抛出ConcurrentModificationException,方法5只能删掉第一个"B"字符


  • 相关阅读:
    codevs1288 埃及分数
    codevs1792 分解质因数
    dp
    JAVA大数贪心
    求最长不重叠子串
    初识后缀数组
    dp
    两数相除,判断小数位是否有限位
    构造二分图匹配
    建立多个树状数组
  • 原文地址:https://www.cnblogs.com/littlesuccess/p/2217944.html
Copyright © 2011-2022 走看看