接口Iterator
主要需要实现的方法:
abstract public mixed current ( void )
abstract public scalar key ( void )
abstract public void next ( void )
abstract public void rewind ( void )
abstract public boolean valid ( void )
在一个foreach中,首先会调用 rewind()方法,将指针置为开始位置,使用valid()方法检测是否合法,接着current(),再key()。如此一个循环结束,接着第二循环,先调用next()方法,valid(),current(),key(),如此不断反复直到valid()为false;所以可以发现的是再循环时,使用的是值传递,并不是传引用,所以对循环中的kv修改并不能对原迭代器重的数据起作用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步