Iterator、ListIterator、foreach、Enumeration
来源:互联网 发布:linux 更新grub命令 编辑:程序博客网 时间:2024/06/01 09:41
Java集合的四种输出操作形式
Collection、List、Set三个接口中只有List接口是最方便进行输出操作,集合在jdk1.8之前支持四种输出,之后支持5种输出。
- Iterator
- ListIterator
- Enumeration
- foreach
Iterator是用到最多的,Enumeration也是很关键的,虽然用的较少。
迭代输出:Iterator
一般来说,遇到集合操作就用Iterator接口进行集合的输出操作。Iterator本身是一个接口,定义中也增加了泛型操作。定义如下:
public interface Iterator<E>{ public boolean hasNext(); public E next(); }
之前使用的Scanner就是Iterator的子类,因为Iterator本身是一个接口,要想取得本接口实例化,只能依靠Collection接口。
- 所有实现Collection接口的容器类都有一个Iterator方法,用于返回一个实现了Iterator接口的对象
- Iterator对象成为迭代器,用来实现对容器内元素的遍历操作。
- Iterator接口定义了三个方法
- hasNext()
- next()
- remove()
双向迭代输出ListIterator
Iterator只能是从前向后迭代输出,如果想要双向的迭代输出,可以使用ListIterator。但是,ListIterator的使用是有前提的:**在进行由后向前的输出之前必须要先进行由前向后的输出**,要不然输出的结果是空。
public class TestList { public static void main(String[] args) throws Exception{ List<String> all = new ArrayList<String >(); all.add("A"); all.add("B"); all.add("C"); ListIterator<String> it = all.listIterator(); System.out.print("由前向后输出:"); while (it.hasNext()) { String str = it.next(); System.out.print(str+"、"); } System.out.print("\n有后向前输出:"); while(it.hasPrevious()){ System.out.print(it.previous()+"、"); } }}
foreach输出
在学习数组时,foreach可以方便输出数组,也可以对集合进行方便的输出。举个简单例子:
public class TestForeach { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); for(String str :list){ System.out.println(str); } }}
Enumeration输出
Enumeration时与Vector类一起在JDK1.0的时候推出的输出接口,即:最早的Vector如果想要输出就需要使用Enumeration完成。Enumeration接口的定义如下:
public interface Enumeration<E>{ public boolean hasMoreElments();//判断是否有下一个元素 public E nextElment();//取出当前元素 }
0 0
- Iterator、ListIterator、foreach、Enumeration
- Java类集--Iterator接口、ListIterator接口、foreach及Enumeration接口
- 【java】Enumeration、Iterator、ListIterator
- Enumeration, Iterator and ListIterator in Java
- ListIterator &Iterator
- Iterator & ListIterator
- Iterator ListIterator
- java类集整理collection map iterator listiterator list set enumeration
- Iterator迭代器-ListIterator-Enumeration枚举类接口的特点和区别
- Iterator和ListIterator
- Iterator and ListIterator
- Java Iterator与ListIterator
- ListIterator 与 Iterator 区别
- Iterator和ListIterator
- ListIterator与Iterator
- Iterator和ListIterator
- Iterator和ListIterator
- Iterator和ListIterator
- winform中自定义的窗体移动代码
- 深入理解Java虚拟机 读书笔记
- Mysql优化
- Javascript 多浏览器兼容性问题及解决方案
- C/C++——指针做参数
- Iterator、ListIterator、foreach、Enumeration
- C语言--结构体内存计算规则
- logback使用
- python urllib2爬取网页,编码问题
- intellij ieda下将空包展开显示
- 秒杀多线程-一个经典的多线程同步问题
- 商业模型
- SVProgressHUD 的显示时间
- ubuntu的系统 装载hadoop spark等配件 空间全部被占满了