java在JDK5以后,增加了增强for循环的使用,增强for循环可以用在数组、或实现Iterable接口的集合类中,像Set、List都实现了Iterable接口,所以可以直接使用增强for循环,在List集合中使用增强for循环代码如下:
@Test
public void test2(){
List list=new ArrayList();
list.add(1);
list.add(2);
list.add(3);
for (Object o : list) {
System.out.println(o);
}
}
当需要输出Map集合中的键值对时,传统的方法主要有两种:
第一种的流程为:
代码演示为:
@Test
public void test3(){
Map map=new LinkedHashMap();
map.put("1", "aaa");
map.put("2", "bbb");
map.put("3", "ccc");
//传统方法1
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:"+key+"\tvalue:"+value);
}
}
第二种的流程为:
代码演示为:
@Test
public void test4(){
Map map=new LinkedHashMap();
map.put("1", "aaa");
map.put("2", "bbb");
map.put("3", "ccc");
//传统方式2
Set set2=map.entrySet();
Iterator it2=set2.iterator();
while(it2.hasNext()){
Map.Entry entry=(Entry) it2.next();
String key=(String) entry.getKey();
String value=(String) entry.getValue();
System.out.println(key+"="+value);
}
}
使用增强for循环的第一种方式为:
@Test
public void test5(){
Map map=new LinkedHashMap();
map.put("1", "aaa");
map.put("2", "bbb");
map.put("3", "ccc");
//增强for循环的第一种方式:
for (Object obj:map.keySet()) {
String key=(String) obj;
String value=(String) map.get(key);
System.out.println(key+"="+value);
}
}
使用增强for循环的第二种方式为:
@Test
public void test6(){
Map map=new LinkedHashMap();
map.put("1", "aaa");
map.put("2", "bbb");
map.put("3", "ccc");
//增强for循环的第二种方式:
for (Object obj:map.entrySet()) {
Map.Entry entry=(Entry) obj;
String key=(String) entry.getKey();
String value=(String) entry.getValue();
System.out.println(key+"="+value);
}
}
最后需要注意:增强for只适合取数据,要修改数组或集合中的数据,要用传统方式。