黑马程序员技术交流社区

标题: 一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象, [打印本页]

作者: nsunshine    时间: 2014-7-10 07:13
标题: 一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象,
public class Test1
{

   public static void main(String[] args)
   {  
        //实例化ArrayList类型的集合al
   ArrayList<String> al = new ArrayList<String>();  
   //向集合中添加对象
   al.add("abb");   
   al.add("nihaa");   
   al.add("niaoa");   
   al.add("abc");   
   al.add("cdb");  
   al.add("abc");  
   al.add("cdb");
   //输出
   System.out.println(al.toString());
   //借助迭代器遍历
   Iterator<String> it = al.iterator();
   //
   while(it.hasNext())
    {
           //调用next()方法获得集合中的对象
      String str = it.next();
      //判断str是否为abc
       if(str.equals("abc"))
        {
               //调用remove()方法
        it.remove();
        }

     }
   System.out.println(al.toString());


   }
}

作者: wujiemin    时间: 2014-10-7 11:13
太麻烦了,不如这样

public class Test04 {
        public static void main(String[] args) {
                ArrayList<String> aList = new ArrayList<String>();
                aList.add("abc");
                aList.add("abcd");
                aList.add("gfd");
                aList.add("abc");
                aList.add("igdg");
                aList.add("abc");
                aList.add("bvgf");
                aList.add("ytr");
                System.out.println(aList);

                while (aList.contains("abc")) {
                        aList.remove("abc");
                }
                System.out.println(aList);
        }
}

作者: 高鹏飞    时间: 2014-10-21 11:06
敢问楼主这代码自己测试过吗?貌似这样边使用迭代器遍历,边进行数据的操作,会抛ConcurrentModificationException异常,楼下哥们儿的方法靠谱点儿
作者: 发抖的_DtYJA    时间: 2015-7-20 01:15
牛逼啊!!!
作者: 半山岩    时间: 2015-7-28 00:52
调用迭代器自身的删除方法似乎不会抛出异常:it.remove();
作者: nine789    时间: 2015-8-11 19:03
wujiemin 发表于 2014-10-7 11:13
太麻烦了,不如这样

public class Test04 {

大神厉害,境界高
作者: heima_huang    时间: 2015-9-6 15:47
wujiemin 发表于 2014-10-7 11:13
太麻烦了,不如这样

public class Test04 {

此法甚好,但题目要求遍历该ArrayList对象
作者: -波波-    时间: 2015-9-14 19:35
heima_huang 发表于 2015-9-6 15:47
此法甚好,但题目要求遍历该ArrayList对象

这个是不是不能删除比如"deabc"这样的字符串啊,如果后边有重复的怎么删除啊!
作者: sun288225    时间: 2016-2-14 11:42
public class AraayTest {

        public static void main(String[] args) {
                ArrayList<String> aList = new ArrayList<>();
                aList.add("sde");
                aList.add("lfs");
                aList.add("jds");
                aList.add("abc");
                aList.add("abc");
                aList.add("qds");
                aList.add("mds");
                aList.add("abc");
                aList.add("abc");
                ListIterator<String> li = aList.listIterator();
                while (li.hasNext()) {

                        String str = li.next();
                        if (str.equals("abc"))
                                li.remove();
                        else
                                System.out.println(str);
                }

        }
}
作者: wangjianfeng    时间: 2016-2-17 21:40
貌似这里会出现并发修改异常
作者: 流浪的小土豆    时间: 2016-7-1 10:44
import java.util.ArrayList;

public class Test21 {
        public static void main(String[] args) {
                ArrayList<String> al=new ArrayList<String>();
                al.add("aaa");
                al.add("abc");
                al.add("acc");
                al.add("abb");
                al.add("bbb");
                al.add("ccc");
                al.add("bcc");
                al.add("abc");
                al.add("ccb");
                al.add("cab");
                System.out.println(al.toString());
               
                ArrayList<String> templist=new ArrayList<String>();//创建临时变量templist
                        
                templist.add("abc");//将abc加入到临时变量        
               
                al.removeAll(templist);//清空
               
                System.out.println(al.toString());
        }
        
}
作者: 宝瓶子    时间: 2016-9-16 21:13
貌似有问题
作者: liangjun    时间: 2016-9-16 23:00
给力 。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: chenyanwei6    时间: 2016-12-24 20:48
如果你添加的al.add("abcd");al.add("ab");al.add("cc");你那样做了之后,还是有abc的




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