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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
*
* 4、 一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象,
* 删除其中所有值为"abc"的字符串元素,请用代码实现。
*
*/
public class Test4 {
        public static void main(String[] args) {
                List<String> aList=new ArrayList<String>();
                //向aList集合中添加元素
                aList.add("fetadf");
                aList.add("abc");
                aList.add("feffads");
                aList.add("jiasfja");
                aList.add("abc");
               
                System.out.println("删除前的aList集合中的元素"+aList);
               
                //创建迭代器,迭代aList集合中元素 如果元素值为"abc" 就删除该元素
                Iterator<String> it=aList.listIterator();
                while(it.hasNext()){
                        String value=it.next();
                        if(value.equals("abc"))
                                it.remove();       
                }
                System.out.println("删除后aList集合中的元素"+aList);
        }

}
在迭代集合的过程中,不能对集合进行增删操作(会报并发访问异常);可以用迭代器的方法进行操作(子类listIterator:有增删的方法)
为什么用 Iterator迭代器 进行删除不报错呢?

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

0 个回复

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