foreach遍历数组和集合
格式:
for(元素类型 元素变量x:遍历对象(数组或集合)){
引用元素变量x的语句;
}
例子
int[] array = new int[5];
for(int x : array){
System.out.println(x);
}
遍历MAP集合格式如下:
for (Map.Entry<K, V> entry : map.entrySet())
action.accept(entry.getKey(), entry.getValue());
如果要引用数组或者集合的索引,则foreach语句无法做到。
foreach语句是for语句特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性。
foreach输出二维数组测试:
int arr2[][] = {{4, 3}, {1, 2}};
for (int x[] : arr2) {
for (int e : x) {
System.out.println(e);
}
}
foreach输出三维数组:
int arr[][][] = {
{{1, 2}, {3, 4}},
{{5, 6}, {7, 8}}
};
for (int[][] a2 : arr) {
for (int[] a1 : a2) {
for (int x : a1) {
System.out.println(x);
}
}
}
foreach遍历List:
for (Object o : list) {
System.out.print(o+" ");
}
foreach遍历带自定义类型的List:
for (Object o :stuList) {
Student student = (Student) o;
System.out.println(student.toString());
}
foreach遍历Map:
Set entrys = hashMap.entrySet();
for(Object entryObj : entrys){
Map.Entry entry = (Map.Entry)entryObj;
//获取key, value
Object key = entry.getKey();
Object value = entry.getValue();
if (value.equals("JSP"))//当教授课程为JSP时输出
System.out.println("老师:"+key+",教授的课程:"+value);
}