黑马程序员技术交流社区
标题:
for循环问题?
[打印本页]
作者:
董志超
时间:
2012-10-27 08:27
标题:
for循环问题?
本帖最后由 董志超 于 2012-10-27 19:00 编辑
听老师将传统for与高级for的区别时
说高级for必须有被遍历的目标
那么在什么情况下不具备被遍历的目标呢?
举例说明
作者:
刘伟平
时间:
2012-10-27 08:33
遍历的目标一般是数组或集合,这些东西需要你遍历。
作者:
李靖
时间:
2012-10-27 08:33
增强for循环必须实行iterable接口的集合或数组,也就是说没有实现iterable接口的结合类不能被遍历。前不久我发过下面的一个贴,参考一下
类关系示意图
Iterable(接口)
│
└--Collection (接口)
├-List(接口)
│ ├-LinkedList 不同步 (构造同步:List list = Collections.synchronizedList(new LinkedList(...));)
│ ├-ArrayList 不同步
│ └-Vector 同步
│ └--Stack 同步
└-Set
├--EnumSet
├--HashSet --LinkedHashSet
└--TreeSet
Map
├--Hashtable
├--HashMap --LinkedHashMap
└--WeakHashMap
通过关系图可以得知List集合和Set集合适用于增强for,map不可以
作者:
周万谋
时间:
2012-10-27 08:41
高级for就是用来遍历的,只是传统for的增强版,不是集合或数组自然就不能遍历了
作者:
坚持不懈
时间:
2012-10-27 08:55
路过............
作者:
崔政
时间:
2012-10-27 18:13
给你举个例子就ok
package test;
import java.util.*;
class Test2{
public static void main(String[] args) {
char[] arr=new char[]{'a','b','c','d','e','f'};//这个就是遍历目标
//for
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
//高级for
for(char c:arr){
System.out.println(c);
}
//假如有这么一个命题,让你循环输出0-100
//for
for(int i=0;i<=100;i++)
System.out.println(i);
//但是高级for就不知道怎么写了。难道要写一个int[] arr=[]{1,2,3,4,5......100}??
//所以高级for必须要有遍历对象才可以遍历
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2