迭代器遍历
迭代器的主要方法如下图
如何利用这些方法进行遍历操作
细节:next()方法是先返回一个当前所在位置元素,然后将指针移到下一位
具体代码实现
同时还有一些注意事项:
当遍历完成后,指针指向的是最后一个元素的后一个位置
而且在遍历完成后,指针不会复位
以及在这个迭代器遍历的方法体中,不能利用集合的方法进行删除和增加,只能使用迭代器的方法
那么什么是调用集合的方法呢?什么又是迭代器的方法呢?
首先是集合的方法进行删除(注意这个是错误的,代码会报错)
以下才是正确利用迭代器的方法进行删除
增强for遍历
这个用起来比较简单,见下面图片
这个s我们如何理解它呢?
这个s就相当于一个第三方的变量,每循环一次,集合的元素数据就会存储在里面,然后下一次循环时,它又会被下一个集合元素替代,所以它和集合并没有联系,他只是一个暂时存储元素的第三方变量
那么我们就会有这样的疑问,如果在循环中我们改变s的值,集合会不会改变
答案是显然不会的,就如上面所说,它只是第三方变量,就如下面代码所示,qqq并没有改变集合元素数据
Lambda表达式遍历
我们知道Lambda表达式是为了简化匿名类的,所以我们先提供一个匿名内部类的遍历再简化为Lambda
这里遍历是调用的forEach方法