A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kong7906928 中级黑马   /  2014-6-20 14:15  /  1147 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1.     public V put(K key, V value) {
  2.         if (table == EMPTY_TABLE) {
  3.             inflateTable(threshold);
  4.         }
  5.         if (key == null)
  6.             return putForNullKey(value);
  7.         int hash = hash(key);
  8.         int i = indexFor(hash, table.length);
  9.         for (Entry<K,V> e = table[i]; e != null; e = e.next) {
  10.             Object k;
  11.             if (e.hash == hash && ((k = e.key) == key || key.equals(k))) {
  12.                 V oldValue = e.value;
  13.                 e.value = value;
  14.                 e.recordAccess(this);
  15.                 return oldValue;
  16.             }
  17.         }

  18.         modCount++;
  19.         addEntry(hash, key, value, i);
  20.         return null;
  21.     }
复制代码
HashMap里面的方法,讲HashSet的add方法是提到的,这段代码什么意思?求大神解释

2 个回复

倒序浏览
简单来说就是 将一个MAP映射存入的方法。。但是具体的没有全码  我也不知道啊。。
回复 使用道具 举报
这是将map中的映射关系存入HashSet中,HashSet属于set,是元素不可重复的,保证唯一性就是通过比较hashCode和equals方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马