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
}
}