Map集合通过entrySet 和 keySet都可以使用迭代器 以及for循环拿到key和value:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Test {
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<Integer,String>();//key 与 values必须是引用数据类型
//添加
map.put(1, "雷某");
map.put(2, "雷某某");
map.put(3, "雷某某某");
map.put(4, "雷某某某某");
// Iterator 迭代器遍历
Iterator<Entry<Integer, String>> iterator = map.entrySet().iterator(); //entrySet
while(iterator.hasNext()){
Entry<Integer, String> next = iterator.next();
Integer key = next.getKey();
String value = next.getValue();
System.out.println(key+":"+value);
}
//分割线
System.out.println("----------------------------");
//删除
map.remove(4);
//for - each 遍历
Set<Entry<Integer, String>> entrySets = map.entrySet();//此时拿到的就是一个set集合集合里面存的 java.util.Map.Entry对象
for(Entry e : entrySets){
System.out.println(e.getKey()+":"+e.getValue());
}
//分割线
System.out.println("----------------------------");
//根据指定key值直接拿到value的值
System.out.println(map.get(3));
System.out.println(map.get(4));//上面移除 输出为null
//分割线
System.out.println("----------------------------");
//接下来使用keySet进行map的遍历(迭代器 for 两种)
//迭代器
Iterator<Integer> iterator2 = map.keySet().iterator();
while(iterator2.hasNext()){
Integer next = iterator2.next();
System.out.println(next+":"+map.get(next));
}
//分割线
System.out.println("----------------------------");
//for-each
Set<Integer> keySet = map.keySet(); //此时拿到了map集合中所有的key值并且放到了set集合中
for(Integer s : keySet){
System.out.println(s+":"+map.get(s));
}
}
}