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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Kris 中级黑马   /  2015-10-31 07:36  /  192 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

增强for循环底层是调用迭代器进行遍历的,按理来说遍历过程中不可以用集合对集合元素进行操作。
但list集合遍历(foreach或者迭代)的时候可以对倒数第二个元素进行删除
set集合遍历的时候可以对最后一个元素进行删除。
(感兴趣的同学可以自己验证下,知道原因的大神也请告知下~)



import java.util.HashSet;
import java.util.Iterator;

public class ForDemo {
public static void main(String[] args) {
    HashSet<String> al = new HashSet<String>();      
    al.add("a1");
    al.add("a2");
//    al.add("a3");
//    al.add("a4");
//    al.add("a5");
//    al.add("a6");
   
    Iterator<String> it = al.iterator();
    while(it.hasNext()){
        String s = it.next();
        if("a2".equals(s)){
            al.remove(s);
        }
        
    }
//    for(String s:al){
//        if(s.equals("a2")){
//            al.remove("a2");
//        }
//    }
    System.out.println(al);
}
}

0 个回复

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