A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SYAD 中级黑马   /  2015-8-31 19:23  /  653 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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种方法,欢迎补充

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马