package Day01;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import org.junit.Test;
public class Day01 {
@Test
public void test1() {
// 使用HashMap()存入與取出順序不一定一緻。
Map m = new HashMap();
m.put("1", "aaa");
m.put("2", "bbb");
m.put("3", "ccc");
// 傳統方式1取出Map集合資料,用keySet()封裝隻包含key的Set集合,然後用iterator疊代Set集合即可取出key。
Set keys = m.keySet();
Iterator it = keys.iterator();
while (it.hasNext()) {
String key = (String) it.next();
String value = (String) m.get(key);
System.out.println(key + "=" + value);
}
}
@Test
public void test2() {
// 使用HashMap()存入與取出順序不一定一緻。
Map m = new HashMap();
m.put("1", "aaa");
m.put("2", "bbb");
m.put("3", "ccc");
// 增強for循環1取出Map集合資料。
for(Object obj:m.keySet()){
String key=(String) obj;
String value=(String) m.get(key);
System.out.println(key + "=" + value);
}
}
@Test
public void test3() {
// 使用LinkedHashMap()存入與取出順序一緻。
Map m = new LinkedHashMap();
m.put("1", "aaa");
m.put("2", "bbb");
m.put("3", "ccc");
// 傳統方式2取出Map集合資料,用entrySet()封裝成鍵值對的Set集合,然後用iterator取出Map.Entry。然後在通過getKey()和getValue()方法取值
Set keys = m.entrySet();
Iterator iterator = keys.iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Entry) iterator.next();
String key = (String) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + "=" + value);
}
}
@Test
public void test4() {
Map m = new LinkedHashMap();
m.put("1", "aaa");
m.put("2", "bbb");
m.put("3", "ccc");
// 增強for循環2取出Map集合資料,
for(Object obj:m.entrySet()){
Map.Entry entry=(Entry) obj;
String key=(String) entry.getKey();
String value=(String) entry.getValue();
System.out.println(key + "=" + value);
}
}
@Test
public void test5() {
//增強for循環隻适合取資料。如果想改變資料用傳統方式。
int arr[]={1,2,3};
for(int i:arr){
i=10;
}
System.out.println(arr[0]);//輸出仍未1
for(int i=0;i<arr.length;i++){
arr[i]=10;
}
System.out.println(arr[0]);//輸出均為10
}
}