码迷,mamicode.com
首页 > 其他好文 > 详细

解释一个Map.Entry

时间:2018-10-23 22:53:54      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:ext   equal   51cto   方法   对象   RoCE   bool   ide   除了   

技术分享图片
public static interface Map.Entry<K,V>映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图,其中的元素属于此类。获得映射项引用的唯一 方法是通过此 collection 视图的迭代器来实现。这些 Map.Entry 对象仅 在迭代期间有效;更确切地讲,如果在迭代器返回项之后修改了底层映射,则某些映射项的行为是不确定的,除了通过 setValue 在映射项上执行操作之外。

源码

  /**
     * Exported Entry for EntryIterator
     */
    static final class MapEntry<K,V> implements Map.Entry<K,V> {
        final K key; // non-null
        V val;       // non-null
        final ConcurrentHashMap<K,V> map;
        MapEntry(K key, V val, ConcurrentHashMap<K,V> map) {
            this.key = key;
            this.val = val;
            this.map = map;
        }
        public K getKey()        { return key; }
        public V getValue()      { return val; }
        public int hashCode()    { return key.hashCode() ^ val.hashCode(); }
        public String toString() { return key + "=" + val; }

        public boolean equals(Object o) {
            Object k, v; Map.Entry<?,?> e;
            return ((o instanceof Map.Entry) &&
                    (k = (e = (Map.Entry<?,?>)o).getKey()) != null &&
                    (v = e.getValue()) != null &&
                    (k == key || k.equals(key)) &&
                    (v == val || v.equals(val)));
        }

    /**
     * @param args
     * 解释一个Map.Entry
     */
    public static void main(String[] args) {

    }

}

//创建接口
interface Inter {
    //内部接口
    interface Inter2 {
        public void show();
    }
}

//实现接口中的内部接口方法
class Demo implements Inter.Inter2 {

//重写内部类接口方法
    @Override
    public void show() {
    }

解释一个Map.Entry

标签:ext   equal   51cto   方法   对象   RoCE   bool   ide   除了   

原文地址:http://blog.51cto.com/357712148/2308109

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!