增強for循環:
1.操作數組
2.操作List集合
3.操作Map集合
1.map.values()法
2.map.keySet()法 【傳統方法】
3.Map.Entry法 【新穎方法:增強for+map.entrySet()+Map.Entry】
Iterator遍歷器:
操作Map集合:
1.map.keySet()法【傳統】
2.Entry法 【新穎 Set+Iterator+Map.Entry】
---------------------------------------------------------------------
import java.util.List;
import java.security.KeyStore.Entry;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.LinkedList;import java.util.Map;import java.util.Set;import org.junit.Assert;import org.junit.Test;public class DemoTest {/** 增強for循環* 注意:增強for只適合取數據,* 并不能通過遍歷變量(相當于指針的作用)去改變集合/數組內的元素。* */ @Testpublic void testFor(){//1.操作數組int arr[]={6,1,3,8}; for(int num:arr) System.out.PRintln(num); System.out.println("-------操作數組-------"); //2.操作List集合 List list = new ArrayList(); list.add("82242"); list.add("24235"); list.add("65734"); for( Object obj:list) System.out.println(obj); System.out.println("-----操作List集合------"); //3.操作Map集合 //注意:LinkedHashMap 按照正向順序取出 // HashMap 按照逆向順序取出 Map map = new LinkedHashMap(); map.put(3535,"set"); map.put(1324,"FHdg"); map.put(35,"rehhg"); // map.values()法 //僅僅只可以取出 值 for(Object obj:map.values()) System.out.println("value:"+obj); System.out.println("------操作Map--map.values()法-----"); // map.keySet()法 【傳統方法】 for(Object obj:map.keySet()){ System.out.println("Key:"+(int)obj+" Value:"+map.get((int)obj)); } System.out.println("------操作Map--map.keySet()法-----"); //Map.Entry法 【新穎方法:增強for+entrySet()+Map.Entry】 for(Object obj:map.entrySet()){ Map.Entry entry = (Map.Entry) obj; System.out.println("Key:"+entry.getKey()+" Value:"+entry.getValue()); } System.out.println("------操作Map--Map.Entry法 -----"); System.out.println("for-----------");}/** 傳統方式: Iterator遍歷器* */@Testpublic void testIterator(){ Map map = new LinkedHashMap(); map.put(3535,"set"); map.put(1324,"FHdg"); map.put(35,"rehhg"); //map.keySet()法【傳統】 Set set = map.keySet(); Iterator iterator = set.iterator(); while(iterator.hasNext()){ int key = (int) iterator.next(); System.out.println("Key:"+key+" Value:"+map.get(key)); } //Entry法 【新穎 Set+Iterator+Map.Entry】//可以用Map.Entry+iterator遍歷器分別地取Map.Entry集合內的Key和Value while(iterator.hasNext()){// System.out.print(iterator.next()); //會依次輸出一次輸出一對鍵值對 :686=dgd 980=uydg 324=tere Map.Entry entry = (Map.Entry) iterator.next(); int key = (int) entry.getKey(); String value = (String) entry.getValue(); System.out.println("Key:"+key+" Value:"+value); } System.out.println("iterator-----------"); }}
OutPut:============================================================
6138-------操作數組-------822422423565734-----操作List集合------value:setvalue:FHdgvalue:rehhg------操作Map--map.values()法-----Key:3535 Value:setKey:1324 Value:FHdgKey:35 Value:rehhg------操作Map--map.keySet()法-----Key:3535 Value:setKey:1324 Value:FHdgKey:35 Value:rehhg------操作Map--Map.Entry法 -----for-----------Key:3535 Value:setKey:1324 Value:FHdgKey:35 Value:rehhgiterator-----------
新聞熱點
疑難解答