(资料图片)
hashcodeList.add(hashcode);来存入添加的 hashcode 值/** * 不需要遍历数组,大大减少了代码量,直接存入hashcode的值 * 用来记录被使用的hashcode,方便后续其他方法的操作 */ List hashcodeList = new ArrayList<>(); /** * 删除传入的key值所对应的键值对对象 * * @param key 传入的key */ @Override public void remove(K key) { int hashcode = hashcode(key); for (Entry entry : mapArr[hashcode] ) { //要把hashcodeList中的hashcode删除 hashcodeList.removeIf(integer -> hashcode(entry.getKey()) == integer); //删除 mapArr if (entry.getKey().equals(key)) { mapArr[hashcode].remove(); } } } 标签: