对于for循环增强,无非也就是数组,List集合,Map集合之间使用,如果学习了这特性可以提高工作效率
package cn.itcast.foreach;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import org.junit.Test;
public class demo3_3 {
/*
首先我们来讲数组的循环
*/
@Test
public void test1(){
int arr[]={1,2,3,4,5};
//这是传统意义上的输出数组中的每个值
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
/*而下面是使用我们的for循环增强
for循环增强的使用语法
for(1.变量类型 变量 :2.需迭代的数组或集合)
}
1.是你需要迭代的数组或集合里那个值的变量类型,下面就是int类型
2.是你需要迭代的数组或集合 而下面就是前面定义的arr数组
ps:在此已经说明for循环的使用语法,下面则不再次具体说明使用的语法
*/
for(int i:arr){
System.out.println(i);
}
}
@Test
public void test2(){
List list=new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
/*
正常的情况下,集合都会使用Iterator进行迭代,然后使用hasNext和next
*/
Iterator it=list.iterator();
while(it.hasNext()){
int i=(Integer)it.next();
System.out.println(i);
}
for(Object obj:list){
System.out.println(obj);
}
}
@Test //传统的map集合1
public void test3(){
Map map=new LinkedHashMap();
map.put("1", "aaaa");
map.put("2", "bbbb");
map.put("3", "cccc");
map.put("4", "dddd");
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);
}
}
@Test //增强for循环的map集合1
public void test4(){
Map map=new LinkedHashMap();
map.put("1", "aaaa");
map.put("2", "bbbb");
map.put("3", "cccc");
map.put("4", "dddd");
Set set=map.keySet();
for(Object obj:set){
String key=(String) obj;
String value=(String) map.get(key);
System.out.println(key + "=" + value);
}
}
@Test
public void test5(){
Map map=new LinkedHashMap();
map.put("1", "aaaa");
map.put("2", "bbbb");
map.put("3", "cccc");
map.put("4", "dddd");
Set set=map.entrySet();
Iterator it=set.iterator();
while(it.hasNext()){
Map.Entry me=(Entry) it.next();
String keys=(String) me.getKey();
String value=(String) me.getValue();
System.out.println(keys + "=" + value);
}
}
@Test
public void test6(){
Map map=new LinkedHashMap();
map.put("1", "aaaa");
map.put("2", "bbbb");
map.put("3", "cccc");
map.put("4", "dddd");
Set set=map.entrySet();
for(Object obj:set){
Map.Entry me=(Entry) obj;
String keys=(String) me.getKey();
String value=(String) me.getValue();
System.out.println(keys + "=" + value);
}
}
}
传统的for循环可以输出也可以赋值,但是,增强for循环只能用来输出数据,不能进行赋值,上面是增强for的一些小例子,给予参考! |