Iterator迭代器

本文详细介绍了Java中的Iterator迭代器接口及其在遍历集合时的作用。讲解了不同集合类型的Iterator实现类,如ArrayList、LinkedList和Set的内部实现。在讨论迭代时删除指定元素的操作时,指出在某些情况下可以直接使用List的remove()方法删除元素,但通常会引起ConcurrentModificationException异常。文章通过源码分析解释了为何在遍历倒数第二个元素时删除元素不会抛出异常,并展示了相关代码示例。
摘要由CSDN通过智能技术生成

Iterator是一个迭代器接口,它专门用于迭代各种Collection集合,包括Set集合和List集合。如果查阅JDK的API文档将发现,Iterator迭代器接口只有一个Scanner实现类。显然Scanner并不能用于迭代Set、List集合,那迭代List、Set集合的Iterator迭代器实现类在哪里

下面测试使用Iterator迭代各种集合所返回的Iterator对象。

enum Color {RED,
    YELLOW;
}
public class T {
   
    /**
     * @param args
     */
    public static void main(String[] args) {
        HashSet<String> hashSet = new HashSet<String>();
        System.out.println("HashSet的Iterator:" + hashSet.iterator());

        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();
        System.out.println("LinkedHashSet的Iterator:" +
            linkedHashSet.iterator());

        TreeSet<String> treeSet = new TreeSet<String>();
        System.out.println("TreeSet的Iterator:" + treeSet.iterator());

        EnumSet<Color> enumSet = EnumSet.allOf(Color.class);
        System.out.println("EnumSet的Iterator:" + enumSet.iterator());

      
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值