最近看到迭代附近了,一些数据结构,如列表,链表,集合等都喜欢使用迭代器来索引,我想主要是他们大多不基于下标,而且JAVA提供了迭代器对象。
for循环最简单了,属于counting loop,而while循环属于conditional loop,一般死循环喜欢用while,可以计数的用for循环,原因是for循环比较节省内存资源,定义的索引在循环执行完之后就被内存回收了。
增强型for循环用于数组,比如说我们要遍历一个字符串型数组str,语法为for(String element: str){ element....}, 即for循环内提一个参数为所要遍历数组的类型,第二个为我们自定义的变量名,比如说element, 然后是冒号(:),最后是所要遍历的数组,然后我们在for循环内可以直接用element了,这个element就是每次得到的数组内的元素。增强型for循环比普通for循环效率要高,见增强型for循环效率。增强型for循环效率提升了,当然也有缺点,那就是对于关于下标的元素操作不支持。如果你有疑问,为什么每次获得的element元素都是数组中的不同的元素呢?他又是怎么全部遍历的呢?接着看迭代器吧。