Java之Iterator接口

Java之Iterator接口

开发工具与关键技术:MyEclipse 10,java
作者:刘东标
撰写时间:2019-05-22
一、Iterator 接口
Iterator 主要遍历Collection 集合中的元素,也有称为迭代器或迭代精灵。
boolean hasNext():若被迭代的集合元素还没有被遍历,返回 true.
Object next():返回集合的下一个元素.
void remove():删除集合上一次
next()方法返回的元素。 (若集合中有多个相同的元素,都可以 删掉)
iterator 对于集合才能用,for 不同,只要是循环都可用。
迭代是取出集合中元素的一种方式。
因为Collection 中有 iterator 方法,所以每一个子类集合对象都具备迭代器。
迭代器在Collcection 接口中是通用的,它替代了 Vector 类中的 Enumeration(枚举)。
迭代器 的next 方法是自动向下取元素,要避免出现 NoSuchElementException。
迭代器的next方法返回值类型是Object,所以要记得类型转换。 (学到泛型就可以消除强转!)
Eg:Iterator iter=l.iterator(); while(iter.hasNext()){ System.out.println(iter.next()); }
二、集合遍历输出方式
Iterator:迭代输出 一旦操作集合的遍历输出,首选 Iterator 接口;
ListIterator:Iterator 子接口,专门输出 List 中的元素;
Enumeration:古老的输出方式,迭代 Vector 元素,被 Iterator 取代;
foreach:可输出数组和Iterable 对象;
总结: 集合遍历输出方式:

  1. Iterable 接口(迭代遍历) 注:优先选择 Iterator 接口,遍历 Collection 里所有元素, 也称为迭代器和迭代精灵;迭代是取出集合中元素的一种推荐方式。
  2. Foreach 循环 注:可以直接用,使用场合:数组和 Iterable 对象!
  3. For 循环 注:在()内实例化 Iterable 对象,进行遍历!
  4. 先用 toArray 方法输出成为数组,再用 Foreach 循环! 第一个和第三个很类似,第二个和第四个很类似!
    Eg: package july7;
    //遍历输出的四种方式
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;

public class Demo11 {
public static void main(String[] args) {
List l = new ArrayList();
l.add(“1”);
l.add(“2”);
l.add(“3”);
l.add(“4”);
System.out.println(l);
/** * 遍历输出:四种方式 */
// 1、推荐使用的Iterator对象,迭代输出!
Iterator it = l.iterator();
while (it.hasNext()) {
System.out.println(“迭代输出:” + it.next());
}
// 2、对集合进行fore循环!
for (String str : l) {
System.out.println(“fore集合迭代输出:” + str);
}
// 3、for循环迭代,在for方法体内部实例化Iterator对象!
int i = 0;// for方法体内定义项不能出现多种不同类型
for (Iterator iter = l.iterator(); i < l.size(); i++) {
System.out.println(“for循环迭代实例化输出:” + iter.next());
}
// 4、先将集合转换为数组,再利用数组的遍历输出;
Object[] o = l.toArray();
for (Object object : o) {
System.out.println(“转换数组迭代输出:” + object);
}
}}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值