迭代器(集合独有的遍历方式)

这里的java(迭代器)不是一个集合,它是访问集合的一个方法,可用于迭代ArrayList和HashSet等集合.

  Iterator 是 java迭代器最简单的实现,Listlterator是Collection API 中的接口,它扩展了Iterator接口

修饰语和类型 方法 描述
boolean hasNext() 判断集合中还有没有可以被取出的元素,如果有返回true
E next() 去除集合中的下一个元素

  迭代器it的两个基本操作就是next()、hasNext()和remove()

  调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。

  调用 it.hasNext() 用于检测集合中是否还有元素。

  调用 it.remove() 将迭代器返回的元素删除。

  Iterator 类位于 java.util 包中,使用前需要引入它,语法格式如下:

import java.util.Iterator;//引入Iterator类

  使用迭代器的三种循环迭代方式:

  第一种(while循环):

List<String> list = new ArrayList<>();
        list.add("可可");
        list.add("兮兮");
        list.add("小婷");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
   }

  第二种  (for-each循环):

List<String> list = new ArrayList<>();
        list.add("可可");
        list.add("兮兮");
        list.add("小婷");
        for (String s : list) {
            System.out.println(s);
   }

  第三种  (for循环):

List<String> list = new ArrayList<>();
        list.add("可可");
        list.add("兮兮");
        list.add("小婷");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
   }

这里需要注意,foreach也是增强的for循环,它无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法,如果只做简单遍历读取,可以减少一些代码量,其他情况下不建议使用。

  需要读取集合中的元素,首用for-each循环,虽然它与其他两者的速度相比,差不了多少,但是从代码简介度来说,for-each首当其选

posted @   阳阳天天开心  阅读(102)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示