单列集合及List系列集合的遍历方式

本文介绍了Java中单列集合的遍历方式,包括使用迭代器、增强for循环和Lambda表达式。详细阐述了迭代器的使用方法,强调了在遍历过程中对集合的操作限制。同时,讲解了增强for循环的底层原理及其简化代码的作用。此外,还探讨了List系列集合的特点,如有序、可重复和有索引,并展示了如何通过索引进行元素的添加、删除和修改。最后提到了ListIterator在遍历List集合时的重要性。
摘要由CSDN通过智能技术生成

所有单列集合都可以用以下方式遍历:

1.迭代器遍历(优势在于不依赖索引)

Iterator<E>  iterator,()我们可以用Collection集合调用iterator方法,然后得到迭代器对象,如:

        //此处注意,collection是接口不可以创建对象
        Collection<String> coll = new ArrayList<>();
        coll.add("哈哈哈");
        coll.add("人喝水");
        coll.add("猫吃鱼");
        coll.add("狗吃骨头");
        //创建一个名为it的迭代器,作为箭头默认指向集合的零索引处
        Iterator<String> it = coll.iterator();

Iterator对象包括以下方法:

boolean hasNext();------------判断当前位置是否有元素,有元素返回true,无元素返回false;

E next();-----------获取当前位置的元素,并将迭代器对象移动到下一个位置.

void remove();----------删除元素;

利用以上方法,我们就可以对一个Collection类的对象进行遍历了.

while (it.hasNext()){
            //创建一个第三方变量str,,用来获取从coll中遍历到的元素,str的更改对coll中的元素没有任何影响.
            String str = it.next();
            System.out.println(str);
        }

/*打印结果为
哈哈哈
人喝水
猫吃鱼
狗吃骨头*/
以下是Java单列集合和双列集合遍历方法: 1. 单列集合遍历: - 使用迭代器(Iterator)进行遍历: ```java List<String> list = new ArrayList<>(); list.add("小鲁班"); list.add("貂蝉"); list.add("后羿"); list.add("白起"); list.add("亚瑟"); list.add("百里守约"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String name = iterator.next(); System.out.print(name + " "); } // 输出结果:小鲁班 貂蝉 后羿 白起 亚瑟 百里守约 ``` - 使用增强for循环进行遍历: ```java List<String> list = new ArrayList<>(); list.add("小鲁班"); list.add("貂蝉"); list.add("后羿"); list.add("白起"); list.add("亚瑟"); list.add("百里守约"); for (String name : list) { System.out.print(name + " "); } // 输出结果:小鲁班 貂蝉 后羿 白起 亚瑟 百里守约 ``` 2. 双列集合遍历: - 使用迭代器(Iterator)进行遍历: ```java Map<String, Integer> map = new HashMap<>(); map.put("小鲁班", 1); map.put("貂蝉", 2); map.put("后羿", 3); map.put("白起", 4); map.put("亚瑟", 5); map.put("百里守约", 6); Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, Integer> entry = iterator.next(); String name = entry.getKey(); int value = entry.getValue(); System.out.println(name + ": " + value); } // 输出结果: // 小鲁班: 1 // 貂蝉: 2 // 后羿: 3 // 白起: 4 // 亚瑟: 5 // 百里守约: 6 ``` - 使用增强for循环进行遍历: ```java Map<String, Integer> map = new HashMap<>(); map.put("小鲁班", 1); map.put("貂蝉", 2); map.put("后羿", 3); map.put("白起", 4); map.put("亚瑟", 5); map.put("百里守约", 6); for (Map.Entry<String, Integer> entry : map.entrySet()) { String name = entry.getKey(); int value = entry.getValue(); System.out.println(name + ": " + value); } // 输出结果: // 小鲁班: 1 // 貂蝉: 2 // 后羿: 3 // 白起: 4 // 亚瑟: 5 // 百里守约: 6 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值