亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java中AbstractMap的keySet()是怎么實現的?

Java中AbstractMap的keySet()是怎么實現的?

嗶嗶one 2019-03-22 18:15:04
Java中的AbstractMap是個抽象類,提供了一個Map接口的基礎實現。其keySet()方法是返回map中所有的key的集合??戳似湓创a,一頭霧水。想知道它是怎么實現的?源碼如下:transient volatile Set<K>        keySet = null;transient volatile Collection<V> values = null;public Set<K> keySet() {    if (keySet == null) {        keySet = new AbstractSet<K>() {            public Iterator<K> iterator() {                return new Iterator<K>() {                    private Iterator<Entry<K,V>> i = entrySet().iterator();                    public boolean hasNext() {                        return i.hasNext();                    }                    public K next() {                        return i.next().getKey();                    }                    public void remove() {                        i.remove();                    }                };            }            public int size() {                return AbstractMap.this.size();            }            public boolean isEmpty() {                return AbstractMap.this.isEmpty();            }            public void clear() {                AbstractMap.this.clear();            }            public boolean contains(Object k) {                return AbstractMap.this.containsKey(k);            }        };    }    return keySet;}
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 561 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號