hashmap-java HashMap存储list集合的问题

问题描述

java HashMap存储list集合的问题

我定义一个全局的list集合,然后存储不同的数据,根据不同的Key存放在Map中,但是获取的时候确发现通过不同的Key拿到的Value却是同一个list集合,请问怎么办?

解决方案

是不是你数据存放的时候重复了呢?而且,集合是引用对象,如果你不同的key的value指向同一个List集合,那么就是同一个集合引用的。

解决方案二:

贴代码吧。你怎么放map 里面放的数据,

解决方案三:

你的list集合存数据还有map存数据怎么存的

解决方案四:

那你就是不同的key存储了相同的value,,map不允许key相同,,但允许value相同

时间: 2024-08-04 08:57:04

hashmap-java HashMap存储list集合的问题的相关文章

从代码层读懂Java HashMap的实现原理

概述 Hashmap继承于AbstractMap,实现了Map.Cloneable.Java.io.Serializable接口.它的key.value都可以为null,映射不是有序的.Hashmap不是同步的,如果想要线程安全的HashMap,可以通过Collections类的静态方法synchronizedMap获得线程安全的HashMap. Map map = Collections.synchronizedMap(new HashMap()); HashMap 中两个重要的参数:"初始容

JAVA HashMap详细介绍和示例_java

第1部分 HashMap介绍HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射.HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口.HashMap 的实现不是同步的,这意味着它不是线程安全的.它的key.value都可以为null.此外,HashMap中的映射不是有序的.HashMap 的实例有两个参数影响其性能:"初始容量" 和 "加载因子".容量

[Java] HashMap源码分析

版权声明:请尊重个人劳动成果,转载注明出处,谢谢!http://blog.csdn.net/amazing7/article/details/51283211 目录(?)[+] 1.概述 Hashmap继承于AbstractMap,实现了Map.Cloneable.Java.io.Serializable接口.它的key.value都可以为null,映射不是有序的.    Hashmap不是同步的,如果想要线程安全的HashMap,可以通过Collections类的静态方法synchronize

浅谈 Java HashMap 的那点事

Java集合类的整体架构 比较重要的集合类图如下: 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否 否 HashSet TreeSet 是(用二叉树排序) Map AbstractMap 否 使用 key-value 来映射和存储数据, Key 必须惟一, value 可以重复 HashMap TreeMap 是(用二叉树排序) HashMap详解 HashMap 和 HashSet 是 Java Collection Framewor

深入理解Java HashMap实现原理

1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的).此实现提供所有可选的映射操作,并允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒久不变. 2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外.Has

java HashMap 的工作原理详解_java

HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深.这题经常出现在高级或中高级面试中.投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力.ConcurrentHashMap和其它同步集合的引入让这道题变得更加复杂.让我们开始探索的旅程吧! 先来些简单的问题 "你用过HashMap吗?&quo

深入解析java HashMap实现原理_java

Mark一下,同时可以很好的结合hashCode()和equals()方法,覆盖equals方法时最好覆盖hashcode(),保证equals的两个对象,hashcode也相等,反过来:hashcode()不等,一定能推出equals()也不等:hashcode()相等,equals()可能相等,也可能不等. 因为HashMap在get时,先比较hashcode,再比较equals,hashcode==&&equals,两者都为true,则认为是相同的key 1.    HashMap概

Java HashMap的工作原理_java

大部分Java开发者都在使用Map,特别是HashMap.HashMap是一种简单但强大的方式去存储和获取数据.但有多少开发者知道HashMap内部如何工作呢?几天前,我阅读了java.util.HashMap的大量源代码(包括Java 7 和Java 8),来深入理解这个基础的数据结构.在这篇文章中,我会解释java.util.HashMap的实现,描述Java 8实现中添加的新特性,并讨论性能.内存以及使用HashMap时的一些已知问题. 内部存储 Java HashMap类实现了Map<K

Java HashMap 核心源码解读

本篇对HashMap实现的源码进行简单的分析. 所使用的HashMap源码的版本信息如下: /* * @(#)HashMap.java 1.73 07/03/13 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ 一.概述 在Java中每一个对象都有一个哈希码,这个值可以通过hashCo