for循环,增强型for循环,迭代(从前往后,从后往前)
来源:互联网 发布:桂树焉知泰山之高的焉 编辑:程序博客网 时间:2024/04/30 12:22
最近看到迭代附近了,一些数据结构,如列表,链表,集合等都喜欢使用迭代器来索引,我想主要是他们大多不基于下标,而且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元素都是数组中的不同的元素呢?他又是怎么全部遍历的呢?接着看迭代器吧。
import java.util.*;public class ArrayListTest{ public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("China"); list.add("America"); list.add("Russia"); list.add("Canada"); Iterator <String> it = list.listIterator(); while (it.hasNext()) { String str = it.next(); System.out.println(str); } }}
注意:
Iterator it = list.listIterator();表明list对象调用iterator()方法,返回一个Iterator对象,此时,迭代器的指针指向第一个元素,然而参考API 注释文档,我们发现,
listIterator()有重载函数listIterator(int index),指定其起始位置。
此时,我们就可以改写下面这一部分,以使得迭代器从后向前迭代。
List<String> list = new ArrayList<String>(); Iterator <String> it = list.listIterator(list.size()); while (it.hasPrevious()) { String str = it.previous(); System.out.println(str); }
0 0
- for循环,增强型for循环,迭代(从前往后,从后往前)
- Java中从前往后和从后往前遍历ArrayList
- 最大上升子序列(从前往后) nlogn 和最大上升序列(从后往前)
- SOJ-2511(两次用栈,一次从前往后一次从后往前)
- for循环操作集合,及增删改查,和增强for循环的循环迭代
- 增强型For循环
- 增强型for循环
- 增强型for循环
- cookie匹配规则: domain从后往前, path从前往后 (满足就送)
- Objective - C UITableView界面传值 从前往后,从后往前
- 增强型的for循环
- Java增强型for循环
- Java:增强型for循环,
- java 增强型 for 循环
- Java基础:循环迭代Array/List/Set/Map集合 增强for循环
- 增强for循环 -- foreach循环
- 从字节码看Java中for-each循环(增强for循环)实现原理
- 增强的for循环
- 1032. 挖掘机技术哪家强(20)
- Linux系统分类
- java位运算符
- Java注解(三) 自定义注解与提取注解
- C#碎碎念(二)快进一波
- for循环,增强型for循环,迭代(从前往后,从后往前)
- test
- 随想 (附一个算法)
- 228. Summary Ranges
- I00005 打印直角三角形字符图案
- 动态规划(dynamic programming)原理
- 讲义二 第一个HelloWorld
- 8.多表查询-外连接
- 筛法求素数加冒泡排序