[javaSE] 集合框架(迭代器)
2023-02-18 15:47:14 时间
当我们创建一个集合以后,可以直接使用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();//指针往后移动一个 }
相关文章
- java中的NIO和IO到底是什么区别?20个问题告诉你答案
- 数据结构001:最大子数组和
- 数据结构002:买卖股票的最佳时机
- 怎样优化Vue项目
- 数据结构003:有效的数独
- 家电行业的数字化升级:电子采购平台系统如何助力企业降本增效,提升采购协同效率?
- 六西格玛工具:柏拉图
- 友元类和嵌套类
- RTTI和类型转换运算符
- YAML快速入门
- 提升汽配供应链效率,S2B2C电商系统实现企业库存管理智能化
- 虚拟现实 VR 碰撞 3D 可视化,图扑打造一体化管控平台
- 一篇文章教你实战Docker容器数据卷
- 一起从零到一手写迷你版Vue
- 一起实现React-Hooks核心原理
- 内部群炸锅了,同事又删库了
- 一女程序员因薪酬问题离职,rm -f * 删库,瘫痪6个小时,被判9个月
- 广域铭岛参编《数智化供应链参考架构》标准正式发布
- 每周 Postgres 世界动态 2022w49
- 公司架构师常常提起的DNS负载均衡是个什么鬼?