笔者编程水平还处于初级阶段,平时使用列表的时候经常用到遍历
比如:
//java
for(int i = 0 ; i < 100 ; i ++){
System.out.println(i);
}
也用到过迭代
比如:
//java
List<String> list = new List<String>(){"a" , "b", "c"};
for(String str : list){
System.out.println(str);
}
但是一直对迭代和遍历这两个概念理解很模糊,没有一个明确的概念。
烦请了解此问题的同志们
1.对迭代和遍历下一个比较明确的定义,定义中应该包含他们各自的特性。
2.比较下他们的关系、区别(当然,如果定义足够明确,二者的差异也就自己出来了)。
感激不尽
抠字眼的时候请多用英文
遍历 ~ Traverse 访问一个集合(广义)的每个元素
迭代 ~ Iterate 反复调用同一个过程最终达成目的,这个过程如果是一个函数,那就是递归,如果是一个循环体,那就是狭义上的迭代。递归和迭代之间的关系、转换、优化等等又是另一个故事了。
总之遍历是目的,迭代是手段