[javaSE] 集合框架(迭代器)
2024-09-02 08:12:03
当我们创建一个集合以后,可以直接使用system.out.println()来打印这个集合,但是,我们需要可以对每个元素进行操作,所以,这里需要使用迭代器来遍历集合
迭代器其实就是集合取出元素的方式
调用List对象的iterator()方法,得到Iterator对象,这个类是个接口类型,因此可以知道返回的是Iterator接口的子对象
while()循环,条件是,List对象的hasNext()方法,返回布尔值不为false
循环里面调用List对象的next()方法,可以得到每一个元素
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; public class IteratorDemo { /**
* @param args
*/
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("taoshihan1");
list.add("taoshihan2");
list.add("taoshihan3");
Iterator iterator=list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
} }
PHP版:
php中最常用的迭代式foreach(),我们也可以自己实现一个迭代器
<?php
$list=array("taoshihan1","taoshihan2","taoshihan3");
/**
* 迭代器
* @author taoshihan
*/
class MyIterator implements Iterator{
public $index=0;
public $arr;
public function __construct($arr){
$this->arr=$arr;
}
public function current(){
return $this->arr[$this->index];
}
public function next(){
++$this->index;
}
public function key(){
return $this->index;
}
public function valid(){
return isset($this->arr[$this->index]);
}
public function rewind(){
$this->index=0;
}
}
$myIterator=new MyIterator($list);
$myIterator->rewind();//指针指向第一个
while($myIterator->valid()){//循环 当元素为真时
echo $myIterator->current();//打印当前元素
$myIterator->next();//指针往后移动一个 }
最新文章
- NGUI 3.0.7的新锚点系统设置不好就会造成显示错误的错觉
- MyEclipse10 离线图文安装SVN插件教程
- CSS clearfix
- Env:ctags和Taglist安装与配置
- python 使用 setup.py 方式安装及包的卸载
- 20144306《网络对抗》CAL_MSF基础运用
- 深入理解Java虚拟机 - 学习笔记 1
- 201521123034 《Java程序设计》第五周学习总结
- ●POJ 1556 The Doors(简单计算几何+最短路)
- JMeter命令模式下动态设置线程组和持续时间等动态传参
- DevExpress GridControl小结
- cache-fusion笔记
- struts2(五) s标签和国际化
- 定义function的层级
- 操作系统(Operating System,OS)
- mysql 5.7 json 字段类型查找、修改
- ABAP术语-URL
- QT uic rcc moc 命令行使用
- Markdown 简明语法手册 - 作业
- Visual Studio Xamarin中找不到iOS模拟器
热门文章
- soapui加载天气预报接口报错Characters larger than 4 bytes are not supported: byte 0xb1 implies a length of more than 4 byte的解决办法
- [flex] as3.0 实现基于air的简单浏览器
- python 对mongodb进行压力测试
- iOS学习笔记(4)——显示单组件选取器
- 在eclipse中,用maven创建web项目
- leetcode-896-单调数列
- Developer Friendly | 基础设施即代码的事实标准Terraform已支持京东云!
- windows server 2012 valid key
- ajax防止表单自动提交
- C# TCPClient简单示例