欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java Collection集合iterator方法解析

程序员文章站 2022-05-30 13:14:32
这篇文章主要介绍了java collection集合iterator方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 ite...

这篇文章主要介绍了java collection集合iterator方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

iterator接口概述

/**
 * java.util.iterator接口:选代器(对集合进行遍历)
 *   有两个常用的方法
 *          boolean hasnext()
 *             如果仍有元素可以迭代,则返回true。
 *             即判断集合中还有没有下ー个元素,有就返回true,没有就返回 false
 *          e next()
 *             返回送代的下一个元素。
 *             即取出集合中的下一个元素
 *   iterator迭代器,是一个接口,我们无法直接使用,需要使用iterator接口的实现类对象。
 *       获取实现类的方式比较特殊collection接口中有一个方法,叫iterator(),这个方法返回的就是送代器的实现类对象
 *       iterator<e> iterator()返回在该collection集合的元素上进行迭代的送代器。
 *
 * 迭代器的使用步骤(重点):
 *       1.使用集合中的方法 iterator()获取送代器的实现类对象,使用iterator接口接收(多态)
 *       2.使用iterator接口中的方法hasnext来判断还有没有下一个元素
 *       3.使用iterator接口中的方法next来取出集合中的下一个元素
 */

迭代器代码的实现

import java.util.arraylist;
import java.util.iterator;
import java.util.collection;

public class demo01iterator {
  public static void main(string[] args) {
    collection <string> collection = new arraylist<>();

    collection.add("1号");
    collection.add("2号");
    collection.add("3号");
    collection.add("4号");
    collection.add("5号");

    // 第一步:使用集合中的方法 iterator() 获取送代器的实现类对象
    // 第二步:使用iterator接口接收(多态)
    iterator<string> stringiterator = collection.iterator();

    // 第三步:使用iterator接口中的方法hasnext来判断还有没有下一个元素
    while (stringiterator.hasnext()) {
      // 第四步:使用iterator接口中的方法next来取出集合中的下一个元素
      system.out.println(
          stringiterator.next()
      );
    }
    
  }
}
输出结果:
1号
2号
3号
4号
5号

迭代器的实现原理

new一个集合出来
collection = new arraylist<>()


假设集合中添加有元素
collection = [一号元素, 二号元素, 三号元素, 四号元素, 五号元素]


集合中的元素对应的索引
index = [0, 1, 2, 3, 4]


调用iterator方法
collection.iterator()
作用:获取迭代器的实现类对象井且会把指针(索引)指向集合的-1素引


代码说明:
while (stringiterator.hasnext()) {
  stringiterator.next()
}
通过iterator接口的hasnext()方法,判断集合是否还有没有下一个元素
如果有下一个元素,那么就调用iterator接口的next()方法,取出下一个元素,并且会把指针向后移一位。


就这样,从索引的 -1 位置的下一位索引,开始获取元素,直到获取完全。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。