增强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-----------
新闻热点
疑难解答