gpt4 book ai didi

java - 关于 Java HashMap 源

转载 作者:太空宇宙 更新时间:2023-11-04 07:40:05 25 4
gpt4 key购买 nike

因此,我们有一个 HashMap,以及其中的一个临时 Entry[] 表。在许多方法中,例如在clear()中,我们复制表:

public void clear() {
modCount++;
Entry[] tab = table;
for (int i = 0; i < tab.length; i++)
tab[i] = null;
size = 0;
}

但是为什么我们要做 Entry[] tab = table 呢?接下来的代码有什么问题?

public void clear() {
modCount++;
for (int i = 0; i < table.length; i++)
table[i] = null;
size = 0;
}

据我所知,tab只是对table的引用,乍一看,只是浪费空间。

最佳答案

 for (int i = 0; i < table.length; i++)
tab[i] = null;

你是对的,tabtable都指向同一个对象。我看到的问题是在 for 条件中使用表格,在 for 主体中使用选项卡。您应该使用其中之一,但不能同时使用两者。

tab 是不必要的,但有时人们出于可读性原因这样做。这里没有意义,因为表格更具可读性。如果我要对此进行代码审查,我强烈更喜欢第二个版本。

关于java - 关于 Java HashMap 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16203026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com