增强for循环:简化迭代器书写
一、增强for循环的简单实例
public class Demo{
public static void main(String[] args){
int arr[] = {1,2,3};
/**
*增强for
*/
for(int num : arr){
System.out.println(num);
}
}
}
二、增强for循环的几种应用场景
import java.util.ArrayList;
import java.util.List;
/**
*增强for
*/
public class Demo{
//数组的简单应用
public void test1(){
int arr[] = {1,2,3};
for(int num : arr){
System.out.println(num);
}
}
//链表的简单应用
public void test2(){
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
for(Object obj : list){
int i = (Integer)obj;
System.out.println(i);
}
}
//map的应用实例
//传统方式1
public void test3(){
Map map = new LinkedHashMap();//不同于HashMap的无顺序形式
map.put("1","aaa");
map.put("2","bbb");
map.put("3","ccc");
Set set = map.keySet();
Iterator it = set.iterator();
while(it.hasNext()){
String key = (String)it.next();
String value = (String)map.get(key);
System.out.println(key + "=" + value);
}
}
//传统方式2
public void test4(){
Map map = new LinkedHashMap();
map.put("1","aaa");
map.put("2","bbb");
map.put("3","ccc");
Set set = map.entrySet();
Iterator it = set.iterator();
while(it.hasNext()){
Map.Entry entry = (Entry)it.next();
String key = (String)entry.getKey();
String value = (String)entry.getValue();
System.out.println(key + "=" + value);
}
}
//增强for循环应用于map的第一种方法
public void test5(){
Map map = new LinkedHashMap();
map.put("1","aaa");
map.put("2","bbb");
map.put("3","ccc");
for(Object obj : map.keySet()){
String key = (String) obj;
Stringg value = (String) map.get(key);
System.out.println(key + "=" + value);
}
}
//增强for循环应用于map的第二种方法
public void test5(){
Map map = new LinkedHashMap();
map.put("1","aaa");
map.put("2","bbb");
map.put("3","ccc");
for(Object obj : map.entrySet()){
Map.Entry entry = (entry) obj;
String key = (String) entry.getKey();
Stringg value = (String) entry.getVnalue();
System.out.println(key + "=" + value);
}
}
}
三、增强for循环需要注意的问题
1.只适合取数据,不能更改数据;
2.只用于数组,或实现Iterable接口的集合类上;set,list。