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 位置的下一位索引,开始获取元素,直到获取完全。
Java Collection集合中的iterator方法的更多相关文章
- Java容器---Collection接口中的共有方法
		1.Collection 接口 (1)Collection的超级接口是Iterable (2)Collection常用的子对象有:Map.List.Set.Queue. 右图中实现黑框的ArrayLi ... 
- 遍历Collection集合中的6种方法:
		下面的代码演示了遍历Collection集合的6种方法,注意Collection集合的遍历远不止于增强for循环,和迭代器两种. 代码如下: package com.qls.traverse; imp ... 
- java.util.Map按照key值合并的value的Collection 集合中。
		用java实现把多个map的内容合并的一个resultMap中 代码大致如下 /** * @author Shalf */ public class MapUtil { /** * 把partMa ... 
- ------------------java collection 集合学习 ----小白学习笔记,,有错,请指出谢谢
		<!doctype html>java对象集合学习记录 figure:first-child { margin-top: -20px; } #write ol, #write ul { p ... 
- Day07_39_集合中的remove()方法 与 迭代器中的remove()方法
		集合中的remove()方法 与 迭代器中的remove()方法 深入remove()方法 iterator 中的remove()方法 collection 中的remove(Object)方法 注意 ... 
- Day07_38_集合中的remove()方法
		集合中的remove()方法 remove() 移除集合中的一个指定对象 代码实例 package com.shige.Collection; import java.util.ArrayList; ... 
- Day07_37_深度剖析集合中的contains()方法
		深度剖析集合中的 contains()方法 contains()方法查找集合中是否包含某个元素 contains() 底层使用的是 equals()方法 当contains()方法拿到一个对象的时候, ... 
- Java进阶(二十四)Java List集合add与set方法原理简介
		Java List集合add与set方法原理简介 add方法 add方法用于向集合列表中添加对象. 语法1 用于在列表的尾部插入指定元素.如果List集合对象由于调用add方法而发生更改,则返回 tr ... 
- Java 8 接口中的默认方法与静态方法
		Java 8 接口中的默认方法与静态方法 1. 接口中的默认方法 允许接口中包含具有具体实现的方法,该方法称"默认方法",默认方法使用用 default 关键字修饰. public ... 
随机推荐
- www的iptables实例
			#!/bin/bash export PATH=/sbin:/usr/sbin:/bin:/usr/bin #加载相关模块 modprobe iptable_nat modprobe ip_nat_f ... 
- H3C 环路避免机制二:水平分割
- eclipse中maven报错--Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
			-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable a ... 
- C# 对 byte 数组进行模式搜索
			本文告诉大家几个方法从 byte 数组找到对应的相同序列的数组 最简单的方法是进行数值判断,但是代码最少是使用Linq ,效率比较高是使用 Boyer-Moore 算法,下面就告诉大家几个算法的代码 ... 
- H3C查看保存的配置文件
- C# 获取控制台程序路径
- Team Foundation Server 2015使用教程【4】:默认团队权限说明
- Object 与 Function那神奇而混乱的搞基关系
			// Object 与 Function神奇而混乱的搞基关系... Object.__proto__ === Function.prototype; // true Object.__proto__ ... 
- 前端——css属性方法
			目录 标签快捷写法 宽和高 字体 1.文字字体 2.字体大小 3.字体粗细 4.字体颜色 5.字体对齐 6.文字下划线控制 7.文字首行缩进 8.字体英文换大写 背景属性 1.背景颜色 2.背景图片 ... 
- Visio高级应用部件
			标注与公式的应用: 插入标注 怎么让标注与图形建立关联:拖动标注的时候坐下角会出现黄色的点 把标准拖动到形状边的时候让黄点进入形状就是建立了关联 然后标注就会随着形状的移动而移动 而且复制和删除也都是 ... 
