gpt4 book ai didi

Java get() 将初始化的 Hashtable 键更改为 Null

转载 作者:行者123 更新时间:2023-12-02 00:58:13 25 4
gpt4 key购买 nike

我目前在使用哈希表的 get() 方法时遇到问题。

我的初始化代码:

        Hashtable<Integer, pageEntry> pageTable = new Hashtable<Integer, pageEntry>();
Hashtable<Integer, LinkedList<Integer>> lookAhead = new Hashtable<Integer, LinkedList<Integer>();

//Initialize pageTable and co.
for(int i = 0; i < 10; i++) {
pageEntry p = new pageEntry();
pageTable.put(i, p);
lookAhead.put(i, new LinkedList<Integer>());
}

当我使用System.out.println(lookAhead);时,输出如下:

{0=[]}
{1=[], 0=[]}
{2=[], 1=[], 0=[]}
{3=[], 2=[], 1=[], 0=[]}
{4=[], 3=[], 2=[], 1=[], 0=[]}

如果我使用System.out.println(lookAhead.get(0)),输出如下

[]
[]
[]
[]
[]

但是,如果我使用System.out.println(lookAhead.get(3)),输出将更改为

null
null
null
[]
[]

是否有某种原因我忽略了它将我的值更改为 null 的原因?

感谢您的宝贵时间。

最佳答案

本地图中不存在该键时,get 方法返回 null

在前 3 次迭代中,键不存在于映射中。它是在第 4 次迭代中添加的,输出显示从第 4 次迭代开始与该键关联的值。

关于Java get() 将初始化的 Hashtable 键更改为 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61049165/

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