黑马程序员——JAVA基础------集合框架(三)----Iterator
2015-07-23 21:49
751 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——
Iterator 接口隐藏了各种Collection 实现类的底层细节,向应用程序提供了遍历 Collection 集合元素的统一编程接口。Iterator 接口里定义了如下3个方法。
代码演示:
###二、ListIterator
系列表迭代器,允许程序员按一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。
代码演示:
实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。
注:此接口的功能与 Iterator 接口的功能是重复的。此外, Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。
boolean hasMoreElements() 判断是否有下一个元素
E nextElement() 取出当前元素
2、foreach
代码演示:
一、Iterator接口
Iterator 接口是Java集合框架的成员,但它与 Collection 系列、Map 系列的集合不一样:Collection 系列集合、Map 系列集合主要用于盛装其他对象,而Iterator 则主要用于遍历(即迭代访问)Collection 集合中的元素,Iterator 对象也被称为迭代器。Iterator 接口隐藏了各种Collection 实现类的底层细节,向应用程序提供了遍历 Collection 集合元素的统一编程接口。Iterator 接口里定义了如下3个方法。
boolean hasNext():如果被迭代的集合元素还没有被遍历完,则返回ture
Object next():返回集合里的下一个元素
void remove():删除集合里上一次 next 方法返回的元素
代码演示:
package com.joe.list; import java.util.ArrayList; import java.util.Iterator; /** * Iterator思路:1、获取迭代器;2、判断是否有下一个元素;3、有,输出;没有,返回 * Iterator步骤: * 1、Iterator<T> it = 集合.iterator(); * 2、while(it.hasNext()){ * 3、 System.out.println(it.next()) * } * @author joe * */ public class IteratorDemo { public static void main(String[] args) { // 创建集合,添加元素 ArrayList<String> arr = new ArrayList<String>(); arr.add("wo ai xue xi java"); arr.add("wo ai xue xi java"); arr.add("wo ai xue xi java"); arr.add("wo ai xue xi java"); // 获取arr集合对应的迭代器 Iterator<String> it = arr.iterator(); // 遍历输出 while (it.hasNext()) { System.out.println(it.next()); } } }
###二、ListIterator
public interface ListIterator<E> extends Iterator<E>
系列表迭代器,允许程序员按一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。
代码演示:
package com.joe.list; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIteratorDemo { /** * 使用ListIterator迭代器遍历集合 * * @param list */ public static void listIterator(List<String> list) { ListIterator<String> iter = list.listIterator(); // 从前往后遍历 while (iter.hasNext()) { System.out.println(iter.next()); } System.out.println("------------------------"); // 从后往前遍历 while (iter.hasPrevious()) { System.out.println(iter.previous()); } } public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("中国好声音"); list.add("爸爸去哪儿"); list.add("奔跑吧兄弟"); listIterator(list); } }
三、其他遍历集合的方法
1、Enumerationpublic interface Enumeration<E>
实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。
注:此接口的功能与 Iterator 接口的功能是重复的。此外, Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。
boolean hasMoreElements() 判断是否有下一个元素
E nextElement() 取出当前元素
2、foreach
代码演示:
package com.joe.list; import java.util.Collection; import java.util.HashSet; import java.util.Set; public class ForeachDemo { /** * 使用foreach迭代集合 */ public static void foreach(Collection<String> c) { for (String s : c) { System.out.println(s); } } public static void main(String[] args) { Set<String> set = new HashSet<String>(); set.add("爸爸去哪儿"); set.add("我是歌手"); set.add("中国好声音"); foreach(set); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统