增强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只适合取数据,
* 并不能通过遍历变量(相当于指针的作用)去改变集合/数组内的元素。
* */
@Test
public 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遍历器
* */
@Test
public 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:============================================================
6
1
3
8
-------操作数组-------
82242
24235
65734
-----操作List集合------
value:set
value:FHdg
value:rehhg
------操作Map--map.values()法-----
Key:3535 Value:set
Key:1324 Value:FHdg
Key:35 Value:rehhg
------操作Map--map.keySet()法-----
Key:3535 Value:set
Key:1324 Value:FHdg
Key:35 Value:rehhg
------操作Map--Map.Entry法 -----
for-----------
Key:3535 Value:set
Key:1324 Value:FHdg
Key:35 Value:rehhg
iterator-----------