#日常练习
熟悉Map的基础方法,使用KeySet,EntrySet迭代。
package Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
public class MapBaseDemo {
public static void main(String[] args) {
HashMap<Integer,String> hm = new HashMap();
hm.put(1, "student1");
hm.put(2, "student2");
hm.put(4, "student4");
//System.out.println(hm.put(4, "someone"));//会将原来索引的替代掉,返回的就是被替代的值
hm.put(3, "student3");
//HashMap可以有Key或/和Value为null的情况,HashTable则不允许 。
//hm.put(5, null);
//System.out.println(hm.remove(3));//返回对应的Value
//System.out.println(hm.remove(33));//返回null
//有时可以根据返回类型用来做cotainsKey判断
//System.out.println(hm.get(2));//根据Key获得对应Value值,只能用Key作为索引,反过来不行
//hm.clear();//全部清除
//System.out.println(hm.containsKey(1));//按Key查询
//System.out.println(hm.containsValue("student2"));//按Value查询
//使用KeySet来迭代;
//KeySet用于获取Map集合的Key,返回Set<>类型,进行迭代;
/*
Set<Integer> KeySet = hm.keySet();
for(Iterator<Integer> it = KeySet.iterator();it.hasNext();)
{
Integer i = it.next();
System.out.println(hm.get(i));
}
*/
//entrySet用于获取到Map集合内的映射关系,返回类型时Set<Entry<>>类型的
//在通过Set来调用迭代器便可以完成迭代操作
Set<Entry<Integer,String>>entrySet = hm.entrySet();
Iterator<Entry<Integer,String>> it = entrySet.iterator();
while(it.hasNext()) {
Entry<Integer,String> em = it.next();
Integer i = em.getKey();
String s = em.getValue();
System.out.println("key="+i+"-->"+"value="+s);
}
}
}