增強for迴圈在Map中的應用

SadOnMyOwn發表於2016-03-18

    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只適合取資料,要修改陣列或集合中的資料,要用傳統方式。



相關文章