所以我试图创建这个循环,可以从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]
答案 0 :(得分:3)
不是使用基于int
的{{1}}循环来迭代您的收藏,而是使用for
代替:
Iterator