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"字符


  • 相关阅读:
    SQL通用数据类型
    SQL基础
    软件测试相关(1)
    C语言——判断
    C语言新手教程——计算
    并查集
    洛谷-P1551 亲戚
    洛谷-P1536 村村通
    洛谷-P1525 [NOIP2010 提高组] 关押罪犯
    洛谷-P2814 家谱
  • 原文地址:https://www.cnblogs.com/littlesuccess/p/2217944.html
Copyright © 2011-2022 走看看