Iteraor迭代器以及foreach的使用
来源:互联网 发布:mysql 数据库建模 编辑:程序博客网 时间:2024/06/05 05:21
Iterator是一个迭代器接口,专门用来迭代各种Collection集合,包括Set集合和List集合。
- boolean hasNext():如果被迭代的集合元素还没有被遍历,则返回true。
- Object next():返回集合里下一个元素
- void remove():移除集合里上一次next()返回的元素
例子:
public class IteratorTest { public static void main(String[] args) { Collection books = new HashSet(); books.add("计算机网络"); books.add("数字信号处理"); books.add("java语言程序设计"); //生成迭代器 Iterator it = books.iterator(); int i=0; while(it.hasNext()){ //next()返回的数据是Object型,需要强制转化 String info = (String)it.next(); //输出遍历的每一个元素 System.out.println("第"+i+"个元素:"+info); if(info.equals("数字信号处理")){ System.out.println(i); it.remove(); //把《数字信号处理》从集合books中移除 } i++; } //输出移除后的结果 System.out.println(books); }}
输出结果为:
第0个元素:java语言程序设计
第1个元素:数字信号处理
1
第2个元素:计算机网络
[java语言程序设计, 计算机网络]
除了通天Iterator接口遍历集合的元素外,还可以使用以下方法遍历。这种方法显得更加简洁。
public class IteratorTest { public static void main(String[] args) { Collection books = new HashSet(); books.add("计算机网络"); books.add("数字信号处理"); books.add("java语言程序设计");for(Object obj:books){ String info = (String)obj; System.out.println(info); if(info.equals("数字信号处理")){ //books.remove(info);不能通过迭代变量修改集合,否则引发异常 } } }}
输出结果为:
java语言程序设计
数字信号处理
计算机网络
- Iteraor迭代器以及foreach的使用
- android中的迭代器 Iteraor迭代器以及foreach的使用
- Java Iteraor迭代器详解
- 数组、List、ArrayList的使用以及for、foreach效率比较
- jsp中显示list 以及 c:forEach标签的使用
- jsp中显示list 以及 c:forEach标签的使用
- 关于java 数组 forEach() 以及 remove 的使用
- 初学——移动端querySelectorAll以及foreach的使用
- c++ vector容器和 迭代器<iteraor>
- 关于foreach的使用
- ForEach 的使用
- angular foreach的使用
- c++ foreach的使用
- Mybatis的foreach使用
- foreach的使用
- QT的foreach使用
- ForEach循环的使用
- foreach 语句的使用
- SQL Server错误代码及解释(留着备用)
- asp:Content
- PHP-mySql实现无限分类(递归、数组)
- Qt调用WebService
- libcmtd.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main
- Iteraor迭代器以及foreach的使用
- 为什么要设置wchar_t为build_in type
- 启动代码分析
- 内存耗用:VSS/RSS/PSS/USS
- Android的四大组件
- 数组的定义
- Android Activity切换动画效果的修改
- 涨工资!!!
- 华章IT图书书讯(2012年第6期)