如何从循环中的arraylist中删除

时间:2017-04-18 16:14:04

标签: java arraylist

所以我试图创建这个循环,可以从arraylist中删除给定字符串中的特定字符。问题是当一行中有两个相同的字符时它将错过第二个字符,因为当第一个被删除时,第二个被按下数组列表中的一个点。这就是我到目前为止所拥有的。有人知道怎么修这个东西吗?我仍然是java的初学者,所以任何帮助都会受到赞赏。

ArrayList<Character> list = new ArrayList();
String string = "BuBBuopB";
for(int i=0;i<string.length();i++) 
list.add(string.charAt(i));
System.out.println("BEFORE: " + list);


for(int i=0;i<list.size();i++) 
if(list.get(i).equals('B'))
    list.remove(i);
System.out.println("AFTER: " + list);

从这个例子中打印的是AFTER:[u,B,u,o,p] 当我想要它之后:[你,你,o,p]

1 个答案:

答案 0 :(得分:3)

不是使用基于int的{​​{1}}循环来迭代您的收藏,而是使用for代替:

Iterator