JDK1.5出现的特性 : 循环的特性 (少些代码)
Collection是单列集合的顶级接口,但是到JDK1.5后,为Collection找了个爹
java.lang.Iterable接口 : 实现接口,就可以成为 "foreach"语句的目标
Collection,List,Set都实现了接口,包括数组
for : 的格式
for(数据类型 变量名 : 集合或者数组){}
-
遍历数组
/**
* for循环遍历数组
* for(数据类型 变量名 : 集合或者数组){}
*/
public static void forArray(){
int[] arr = {1,3,5,7,9};
for(int i : arr){
System.out.println(i+1);
}
System.out.println("arr=="+arr[0]);
}
这种for循环不能修改数组中的元素,因为没有索引
这种格式是为了给javac识别的,编译特效
-
遍历集合
* for循环遍历集合
*/
public static void forList(){
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
for(String s : list){
System.out.println(s);
}
}
增强for 在遍历集合的时候,反编译还是集合的迭代器。
集合转数组
// 单列集合转成数组
public static void 集合转数组() {
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
//集合对象调用方法:泛型toArray()
String[] str = list.toArray(new String[list.size()]);
for (String s : str) {
System.out.println(s);
}
}
单列集合转为数组后就定长