Map的遍历方式
设计的方法
- containKey:查找键是否存在
- keySet:获取所有的键
- entrySet:获取所有的k-v
- values:获取所有的值
@SuppressWarnings({"all"})
public class MapFor{
public static void main(Stirng[] args){
Map map = new HashMap();
Set keyset = map.keySet();
for(Object key: keyset){
System.out.println(map.get(key));
}
Iterator iterator = keySet.iterator();
while(iterator.hasNext()){
Object next = iterator.next();
Object value = map.get(key);
}
Collection values = map.values();
Set entryset = map.entrySet();
for(Object o: entrySet){
Map.Entry m = (Map.Entry)entry;
Object key = m.getKey();
Object value = m.getValue();
}
Iterator iterator_ = entrySet.iterator();
while(iterator_.hasNext()){
Object next = iterator_.next();
System.out.println(next.getClass());
Map.Entry mp = (Map.Entry)next;
Object key = m.getKey();
Object value = m.getValue();
}
}
}
Map底层机制
此部分和HashSet基本相同,HashSet就是基于HashMap实现的,HashSet 的元素实际上是 HashMap 的 key,而 HashMap 的 value 是一个固定的占位对象(PRESENT)