java----map,set,hash的源码分析---篇1

这里写图片描述
//图片非原创
图片如图:
会详细介绍map—abstractmap—-hashmap—sortedmap–treemap—hashtable–set—sortedset-abstractset–hashset–treeset
1.map接口和abstractmap抽象类

public interface Map<K,V> {
    int size();         //  --abstractmap
    boolean isEmpty();//判断是否为空---abstractmap
    boolean containsKey(Object key);//判断是否包含key --abstractmap  
    boolean containsValue(Object value);//判断是否包含value--abstractmap
    V get(Object key);//根据key得--abstractmap
    V remove(Object key); //根据k删除?--abstractmap
    void putAll(Map<? extends K, ? extends V> m); --abstractmap
    void clear();  --abstractmap
    Set<K> keySet();--abstractmap
    Collection<V> values();--abstractmap
    Set<Map.Entry<K, V>> entrySet();  //产生set容器,容器中是entry元素
    interface Entry<K,V> {
        K getKey();
        V getValue();
        V setValue(V value);
        boolean equals(Object o);
        int hashCode();
    } 
    boolean equals(Object o); 
    int hashCode();

}


AbstractMap
public boolean equals(Object o)-----abstractmap
 public int hashCode() -----abstractmap
 public String toString()     -----abstractmap
  protected Object clone() throws CloneNotSupportedException -----abstractmap
   private static boolean eq(Object o1, Object o2)-----abstractmap
   内部类:
     1  public static class SimpleEntry<K,V>
        implements Entry<K,V>, java.io.Serializable
      2     public static class SimpleImmutableEntry<K,V>
        implements Entry<K,V>, java.io.Serializable
   属性:
       transient volatile Set<K>        keySet = null;
    transient volatile Collection<V> values = null;   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值