首页 > 代码库 > 集合系列日记(17.5.20)
集合系列日记(17.5.20)
补充上一篇当中HashMap中的对外接口
1.clear():清空HashMap,它将所有的元素设为null(无效值)来实现
public void clear(){ modCount++; Entry[] tab=table; for(int i=0;i<tab.length;i++) tab[i]=null; size=0; }
2.containsKey():containsKey()的作用是判断HashMap是否包含key
3.containsValue():判断HashMap是否包含“值为value”的元素
public boolean containsValue(Object value){ if(value=http://www.mamicode.com/=null) return containsNullValue(); Entry[] tab=table; for(int i=0;i<tab.length;i++) for(Entry e=tab[i];e!=null;e=e.next) if(value.equals(e.value)) return true; return false; }
4.entrySet()、values()、keySet()
public Set<Map.Entry<K,V>> entrySet(){ return entrySet0(); } private Set<Map.Entry<K,V>> entrySet0(){ Set<Map.Entry<K,V>> es=entrySet; return es !=null ?es:(entrySet=new EntrySet()); } private final class EntrySet extends AbstractSet<Map.Entry<K,V>>{ public Iterator<Map.Entry<K,V>> iterator(){ return newEntryIteator(); } public boolean contains(Object o){ if(!(o instanceof MapEntry)) return false; Map.Entry<K,V> e=(Map.Entry<K,V>) o; Entry<K,V> candidate=getEntry(e.getKey()); return candidate !=null && candidate.equals(e); } public boolean remove(Object o){ return removeMaping(o)!=null; } public int size(){ return size; } public void clear(){ HashMap.this.clear(); } }
待补充
集合系列日记(17.5.20)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。