-1
 import java.util;  
 class Driver{

 public static void main(String[] args) {
      ArrayList<String> lstStr = new ArrayList<String>();
      lsstStr.add("A");
      lsstStr.add("B");
      lsstStr.add("C");
      for(Iterator<String> it = lstStr.Iterator(); it.hasNext();)
      {
          str = it.next();
          if(str.equals("B")){lstStr.remove(str);}
      }
      for(Iterator<String> it = lstStr.Iterator(); it.hasNext();)
      {
        System.out.println(it.next());
      }
 }
 }

これはリストから「B」を削除していません。ループの 2 回目の実行時に Str が "B" と等しくないのはなぜですか?

4

3 に答える 3

3

これを試してください:ループなしでリストから「B」のすべての出現を削除します。

lstStr.removeAll(Collections.singleton("B"));
于 2013-04-14T08:07:37.330 に答える