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


  • 相关阅读:
    平时十六测
    平时十五测
    平时十四测
    poj 1486 Sorting Slides
    POJ 3621Sightseeing Cows
    POJ 2728 Desert King
    POJ3111 K Best
    NOIopenjudge 407:Heritage
    POJ#2065. SETI
    HDU 4607 Park Visit
  • 原文地址:https://www.cnblogs.com/littlesuccess/p/2217944.html
Copyright © 2011-2022 走看看