package jihe;
import java.util.ArrayList;
import java.util.ListIterator;
/*
* 一个ArrayList对象aList中存有若干个字符串元素
* ,现欲遍历该ArrayList对象,删除其中所有值为"abc"的字符串元素,请用代码实现
*
*/
public class Test8 {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("hello");
al.add("java");
al.add("World");
al.add("abc");
al.add("jsjlf");
al.add("abc");
al.add("jsjlf");
al.add("abc");
al.add("abc");
/* //方法一:通过ArrayList特有的ListIterator迭代器删除指定字符串元素
ListIterator<String> lir = al.listIterator();
while (lir.hasNext()) {
if (lir.next().equals("abc")) {
lir.remove();
}
}
System.out.println(al);*/
/* //方法二:普通for循环
for (int i = 0; i < al.size(); i++) {
if (al.get(i).equals("abc")) {
al.remove(i);
i--; //这里不能少,正向遍历,中途删除会导致size变化
}
}
System.out.println(al);*/
//方法三:for循环反向遍历,删除指定元素
for (int i = al.size()-1; i >= 0 ; i--) {
if (al.get(i).equals("abc")) {
al.remove(i);
}
}
System.out.println(al);
}
}
-----这是我写的3种方法,欢迎补充
|
|