首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java hashmap值在rehash之后消失了吗?

java hashmap值在rehash之后消失了吗?
EN

Stack Overflow用户
提问于 2010-02-18 01:41:41
回答 2查看 1.3K关注 0票数 2

我有下面这段代码:

代码语言:javascript
复制
private static HashMap<String, TestObject> labelHash= new HashMap<String, TestObject>();
    private static HashMap<String, TestObject> valueHash= new HashMap<String, TestObject>();

    private HashMap getChildrenInHash(int opt){
//       HashMap labelHash= new HashMap();
//       HashMap valueHash= new HashMap();

        if (valueHash.isEmpty() && labelHash.isEmpty()) {        

                if(getLabel().isShowing()){
                    TestObject[] tempArray = getLabel().getMappableParent().getMappableChildren();
                    for(int i =1; i < tempArray.length-2;i++){
                        if(tempArray[i]==null)
                            break;
                        if(tempArray[i].getProperty("text").toString().compareTo(" ")==0){
                            i+=1;

                        }
                        labelHash.put((String)tempArray[i].getProperty("text"),(tempArray[i]));

                        valueHash.put((String)tempArray[i].getProperty("text"),(tempArray[i+1]));
                        i+=2;
                }
                //System.out.println("finished filling the hashes");                
                }
            }            

        }

        if(opt ==1)
            return labelHash;
        else 
            return valueHash;

    }

我使用这种方法基本上是最初填充hashmap,然后最终从其中获取值,但问题是我看到的填充到其中的值不再存在于检索中(不是全部,而是一些)?那么到底是怎么回事呢?它们是如何丢失的,我检查了调试器,在插入时一个接一个地看到值,但当检索到值时就不再存在了,有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2010-02-18 02:08:58

你在用这些TestObject做什么吗?

HashMap(和一般的集合)存储一个引用,而不是其内容的新副本。对于不可变的类,例如String,这是可以的,但是对于非不可变的类,您可以通过原始引用修改这些对象的内容。

票数 1
EN

Stack Overflow用户

发布于 2010-02-18 02:12:40

填充时(总是)使用不同的键吗?如果您总是使用相同的键,那么您将只找到最后插入的值...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2283022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档