黑马程序员技术交流社区

标题: 删除ArrayList中某个字符串 [打印本页]

作者: SYAD    时间: 2015-8-31 19:23
标题: 删除ArrayList中某个字符串
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种方法,欢迎补充






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2