楼上写的蛮详细的。。。附上自己解决的代码:
- package com.hkddy8.test1;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.ListIterator;
- /*
- * 需求:请判断集合中是否有“list"这个元素,如果有,就添加一个元素叫:"zhouyou"
- */
- public class Test1 {
- public static void main(String[] args) {
- // 创建一个集合
- ArrayList<String> al = new ArrayList<String>();
- al.add("abc");
- al.add("list");
- al.add("nihao");
- al.add("wagwu");
-
- Iterator<String> it = al.iterator();
- boolean flag = false;
- while(it.hasNext()){
- String str = it.next();
- if(str.equals("list")){
- flag = true; // 这里不能在集合中添加数据,因为会出现并发器异常!
- }
- }
- if(flag){
- al.add("zhouyou");
- }
- // 或者使用list特有的迭代器来做!!通过迭代器来添加数据!!
- ListIterator<String> list = al.listIterator();
- while(list.hasNext()){
- String str = list.next();
- if(str.equals("list")){
- list.add("haha");// 通过迭代器而不是集合来添加数据
- }
-
- }
-
- System.out.println(al);
-
- }
- }
复制代码 |