java HashMap存储list集合的问题

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

4个回答

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

qq_29948451
qq_29948451 确实是这样的 我存储的是一个集合 而且还是全局的
大约 4 年之前 回复

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java 集合ArrayList ,HashMap常用的循环方式

记载以下,常用的循环方式。/** * 集合测试类 * * @author lenovo * */ public class CollectionTest { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.

List、Set、Map集合存放null解析及HashMap、Hashtable异同点解析

public class Test { public static void main(String[] args) { List list = new ArrayList(); list.add(null); list.add(null); System.out.println(list); Set set = new HashSet(); set.add(null);

Java集合常用操作【List集合嵌套存储和遍历,TreeSet集合、HashMap集合基础操作】

package test; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class Main { public static void main(String[] args) { List list = new ArrayList();...

Java集合框架1——HashMap中“键值对”存放的源码理解

最近,学习JavaWeb的同时,也在回顾JavaSE中集合框架的知识。本文主要从源码的角度,分析和理解HashMap对元素的存储。 下图是HashMap的存储结构: ![纵向为数组,横向为链表](https://img-blog.csdn.net/20180904144629330?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80M...

[List和HashMap—练习]——统计学生成绩,并打印

List和HashMap——练习              定义一个Studeng类,属性姓名name,班号no,成绩score.将若干个Student对象放入List,请统计每个班级的总分和平均分,分别打印出来。     按现实逻辑是这样的,每个Student对象拥有自己的姓名Name,班号no,成绩score属性。ClassRoom对象包含了班号no,总成绩total,还有一个Listst

集合框架-集合的嵌套遍历(ArrayList嵌套HashMap)

c:ArrayList嵌套HashMap package cn.itcast_05; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /* ArrayList集合嵌套HashMap集合并遍历。 需求: 假设ArrayList集合的元素是HashMap。有3个。 每一个HashM

sharedpreference 如何存储集合对象

转自:http://m.blog.csdn.net/blog/xiabing082/9792271 使用sharedpreference 如何存储集合对象的 public static String SceneList2String(HashMap hashmap) throws IOException { // 实例化一个ByteArrayOut

HashMap集合中装入ArrayList集合

package com.arraylist; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class HashMapIncludeA

集合框架-集合的嵌套遍历(HashMap嵌套ArrayList)

b:HashMap嵌套ArrayList package cn.itcast_05; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /* *需求: *假设HashMap集合的元素是ArrayList。有3个。 *每一个ArrayList集合的值是字符串。 *元素我已经完成,请

Java集合Map,set, list 之间的转换

Java集合Map,set, list 之间的转换    前言:     通过思维导图复习联系,看到一个HashMap排序题上机题之后有的一个感想,题目如下,看看你能时间出来么?     已知一个HashMap集合,User 有name(String)和age(int)属性。请写一个方法实现对HashMap的排序功能,该方法接受HashMap为形参,返回列下为HashMap,要求

Set、List、HashMap优缺点比较,高性能集合

http://www.cnblogs.com/wangjixianyun/archive/2013/04/27/3046447.html

HashMap 按键排序 并且放入到 list 集合中

HashMap 按键排序 并且放入到 list 集合中 Map&amp;lt;String, String&amp;gt; map = new HashMap&amp;lt;String, String&amp;gt; (); map.put(&quot;a1&quot;, &quot;u&quot;); map.put(&quot;a2&quot;, &quot;d&quot;); map.put(&quot;a5&quot;, &quot;r&quot;);

顺序存储与链式存储的集合-HashMap、HashTable

HashMap,日常最常用的数据结构之一。它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面将通过源码分析存储结构、初始化、插入、查询、移除等来深入分析Hashmap的实现原理。

java集合之hashset和hashmap的无序

例子package MaMap; import java.util.HashMap; import java.util.HashSet; import java.util.Map; public class HashsetOrder { public static void main(String[] args) { HashSet&amp;lt;Integer&amp;gt; set = new Hash...

JAVA 泛型,集合使用方法

工作内容: 1.集合学习 2.泛型学习 学习分享: 1.典型泛型集合List,HashMap 常用定义泛型集合: List list = new ArrayList(); 【存储类型必须是T类型,可以用Object,来使用这样就可以存储所有类型对象,拿出来时需要强制转型】 Map map = new HashMap(); 【K是键值(Key),V是值(Values),可以通过ma

Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子

使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌

Java 集合转换(数组、List、Set、Map相互转换)

Map、Set转换为List 的方法有很多种,这里我介绍最简单的方法。 1、Map转换为List //map转换为 list //Map map; //List list = new ArrayList(map.values()); List list = new ArrayList(unResolveMapping.values()); 2、Set转换为List //

HashMap,Hashset,ArrayList以及LinkedList集合的区别,以及各自的用法

基础内容容器就是一种装其他各种对象的器皿。java.util包 容器:Set, List, Map ,数组。只有这四种容器。 Collection(集合) 一个一个往里装,Map 一对一对往里装。 Set:没有顺序,不可以重复。 List:有顺序,可以重复。 互相的equals就算重复。 Map定义了存储Key-Value的方法。 Collection里装的必须都是Object,不能是基础

一道Java集合排序题,HashMap排序,面试必备

题目:已知一个 HashMap&amp;lt;Integer,User&amp;gt;集合, User 有 name(String)和 age(int)属性。请写一个方法实现对 HashMap 的排序功能,该方法接收 HashMap&amp;lt;Integer, User&amp;gt;为形参,返回类型为 HashMap&amp;lt;Integer, User&amp;gt;, 要求对 HashMap 中的 User 的 age 倒序进行排...

javaSE Map集合,HashMap。键值对的形式存放元素

Collection集合中存放的元素是单个单个的存放的。 查看Map集合中的元素是以键值对的形式存放的。Map集合中的键不能重复,值可以重复。Map接口常用的子类有:HashMap集合、LinkedHashMap集合。Map接口常用的方法:Demo.java:package cn.xxx.demo; import java.util.HashMap; import java.util.Map; ...

java集合HashMap的put方法

首先我们需要对hashmap初始换容器大小 HashMap&amp;lt; String, String &amp;gt; hashMap = new HashMap&amp;lt;&amp;gt;(16); 如果我们的写的数字小于MAXIMUM_CAPACITY = 1 &amp;lt;&amp;lt; 30的值, 那么用我写的值,负责使用MAXIMUM_CAPACITY。值得注意的是我们在初始化大小的时候,容器的大小...

Java各集合的使用

Collection 接口存储一组不唯一,无序的对象 List 接口存储一组不唯一,有序(插入顺序)的对象 Set 接口存储一组唯一,无序的对象

【Java编程】使用List和Map存放多个图书信息

使用List和Map存放多个图书信息,遍历并输出。其中商品属性:编号,名称,单价,出版社;使用商品编号作为Map中的key。

【java集合】HashMap常见面试题

一、HashMap原理1.1 HashMap特性?  HashMap的特性:HashMap存储键值对,实现快速存取数据;允许null键/值;非同步;不保证有序(比如插入的顺序)。实现map接口。1.2 HashMap的原理,内部数据结构?  HashMap是基于hashing的原理,底层使用哈希表(数组 + 链表)实现。里边最重要的两个方法put、get,使用put(key, value)存储对象到

笔试_集合

一、多选择 (每题2分,共50分) 1. 单列集合的顶层接口是(  ) a) java.util.Map b) java.util.Collection c) java.util.List    d) java.util.Set   2. ArrayList类的底层数据结构是(  ) a) 数组结构 b) 链表结构 c) 哈希表结构 d) 红黑树结构   3. Li

集合中存储的是对象的引用

集合中存储的是对象的引用,如果对象的属性发生变化,集合中该对象也会跟着变化。 List&amp;amp;amp;amp;lt;Student&amp;amp;amp;amp;gt; students = new ArrayList&amp;amp;amp;amp;lt;&amp;amp;amp;amp;gt;(); Student student1 = new Student(4, &amp;amp;amp;quot;ying&amp;amp;amp;quot;, 99);

java list转为数组以及hashmap对key排序的用法

java list转为数组的用法 List tlist=new ArrayList(); String[] sArray=new String[tlist.size()]; tlist.toArray(sArray); //geowave 中如下例子:分解多个Geometry json string split char '#' List&amp;lt;Geometry&amp;gt; ge...

java集合中HashMap原理详解

HashMap在Java开发中有着非常重要的角色地位,每一个Java程序员都应该了解HashMap。 主要从源码角度来解析HashMap的设计思路,并且详细地阐述HashMap中的几个概念,并深入探讨HashMap的内部结构和实现细节,讨论HashMap的性能问题。 1. HashMap设计思路以及内部结构组成 HashMap设计思路        Map是一种以键值对存储数据的

对List中的HashMap进行排序

public class SortListHashMapByValue implements Comparator> { private boolean flag; public SortListHashMapByValue(boolean flag) { this.flag = flag; } public

集合存储5个学生对象,并把学生对象进行遍历。

package cn.itcast_02; import java.util.ArrayList; import java.util.Collection; /*  * 练习:用集合存储5个学生对象,并把学生对象进行遍历。  *   * 分析:  * A:创建学生类  * B:创建集合对象  * C:创建学生对象  * D:把学生添加到集合  * E:把集合转

实现将HashMap转换成为ArrayList,并将map的Key 、Value分别存放到两个ArrayList当中

实现将HashMap转换成为ArrayList,并将map的Key 、Value分别存放到两个ArrayList当中 import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; publi

集合初始化时应指定初始值大小——学习《阿里Java开发手册》(一)

起源   关于《阿里Java开发手册》之前有粗略的看过,作为一个刚出道的菜鸡,还以为仅仅是对于基于代码观赏性而来对其规范的定义,但是最近逛知乎,偶然的机会看到一篇非常skr的文章,推荐一下 [ 《阿里巴巴java手册》存疑:initialCapacity ],其作者从存疑到肯定的过程,让我受益匪浅,作为一个程序猿学习或者看到一个观点都应有这样一个态度。并且完全是颠覆了我对这个手册的映像,原来这个...

取HashMap集合中的key和value的三种方法

 public static  void main(String[] args){  Map map=new HashMap();  map.put(&quot;1&quot;, 21);  map.put(&quot;2&quot;, 123);  map.put(&quot;3&quot;, 98);  //   方法1    此方法效率比较高   Iterator ite=map.entrySet().iterator();  while(ite.h...

Java中的常见集合接口Map,集合Hashtable,HashMap,TreeMap

Map集合:1.将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值2.Map集合被称为双列集合,collection集合被称为单列集合注:将可变对象用作映射键时必须格外小心。当对象是映射中某个键时,如果以影响 equals 比较的方式更改了对象的值,则映射的行为将是不确定的常用方法:1.添加value put(key , value) 返回前一个与key关联的value...

ArrayList集合、Hashtable键值对集合、List泛型集合、Dictionary 键值对泛型集合

1、集合体系 2、ArrayList 属于引用类型,ArrayList集合和List都是非静态类,使用时都必须先实列化。ArrayList类似一个数组,但比数组优越的是它的长度大小可变,并且可以存放不同类型的变量,包括值类型和引用类型。ArrayList的方法: Add(obejct value):方法用于添加一个元素到当前列表的末尾;AddRange()

java开发常被问到的面试题-HashMap的底层原理

java开发人员面试的时候会经常被问到HashMap的底层是怎么实现的,以下做简要分析: HashMap是基于哈希表的Map接口的非同步实现, HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。 首先来了解一下数据结构中数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(

使用集合存储对象

1、  为什么需要集合框架。如果写程序时并不知道程序运行时会需要多少对象,或者,需要更复杂的方式存储对象,可以考虑使用JAVA集合框架。2、  JAVA集合框架由以下三部分组成。2.1、接口    Collection是最基本的集合接口,一个Collection代表一组元素。List接口继承自Collection,List是有序集合,充许有相同的元素,使用List能够精确地控制

List<HashMap<String,Object>>集合类型进行键值内容排序!

//调用方法获取数据 List> empmaptemp=getallEmpList(); //传入list进行排序 sort(empmaptemp); private static void sort(List> data) {           Collections.sort(data, new Comparator() {             public int c

纯手写HashMap集合

1. ArrayList=数组+扩容技术(底层实现技术)2.LinkedList=集合链表(底层实现技术)3.HashMap jdk1.7数组+链表,jdk1.8数组+红黑树思想本质是相同的HashMap1.8比1.7性能提高了15%左右,抽象思维能力,有一个想象的思维空间。HashMap的扩容技术就是负载因子0.75,这个根据算法是有关系的,Hashcode冲突的情况下(碰撞的原理)4.Hash...

集合框架--Map集合之HashMap存储自定义对象

将学生对象和学生的归属地通过键与值存储到map集合中。 import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java.util.Map; class Student { String name; int age; public Student(String name,in

Java HashMap嵌套List实现对多目标进行列表分类

package com.ict.hive.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by chenlong on 2017/3/16. */ public class ClassShipPo

防止Java内存泄露的一些小细节

今天面试时面试官问了Java内存泄露的一些处理方式,我竟然一时答不上来,回家之后百度查询了一下,结果如下: 1、尽早释放无用对象的引用。特别是大对象和集合对象,通过置为NULL,暗示垃圾收集器来收集该对象,防止发生内存泄露。 2、程序中如果出现大量使用字符串处理,避免使用 String ,应使用 StringBuffer。 for(Int i=0;i   {   String s1=

Java集合问题大汇总

原文地址 Java集合 Java集合框架:是一种工具类,就像是一个容器可以存储任意数量的具有共同属性的对象。 Java集合中成员很丰富,常用的集合有ArrayList,HashMap,HashSet等。线程安全的有Vector,HashTable。线程不安全的有LinkedList,TreeMap,ArrayList,HashMap等等。 集合中用到的数据结构有以下几种: 数组:最常...

Java集合迭代时修改

Java集合迭代时修改 本文主要分如下几个要点: 0)Java集合分类 1)对于熟悉JDK集合源码的帮你加深对ConcurrentModificationException的下印象 2)对于迭代时修改提供一个正确的姿势。 3)单线程和多线程环境下迭代时修改的方案 PS:本文不会详细讲解每个集合的源码,也不会画出集合的继承关系(网上有太多详细的讲解和关系图...

Java集合Map<K,V>,HashMap<K,V>的使用,for循环正解

工作内容: java集合Map,HashMap的使用 学习分享: Map HashMap:键值对,键值唯一,存储时(调用put(K,V)方法)键值与已有的键值相同,则新的值覆盖原值。 Set keys = map.keySet();//返回此映射中所包含的键的 Set 视图。keys会随着map的变化而变化 Set keySet = map.keySet(); Map.put或m

android 常用集合HashMap的使用和详解

Java的集合类由Collection接口和Map接口派生 集合类的接口定义 1) Collection 一组&quot;对立&quot;的元素,每个位置只能保存一个元素(对象),通常这些元素都服从某种规则   1.1) List必须保持元素特定的顺序   1.2) Set不能有重复元素   1.3) Queue保持一个队列(先进先出)的顺序 2) Map 一组成对的&quot;键值对&quot;对象,就像一个小型数据库。我们...

HashMap与ArrayList 的扩容问题

HashMap与ArrayList 的扩容问题1. HashMap扩容  HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。 容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。 加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。 当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有

HashMap集合的特性

HashMap的分析: 1、HashMap是可以序列化的。是线程不安全的。 2、HashMap的底层主要是基于数组和链表实现的,它之所以有相当快的查询速度主要是因为它是通过计算散列码来决定存储位置的。 3、HashMap中主要是通过key的hashCode来计算hash值,然后通过hash值选择不同的数组来存储。只要hashCode相同,计算出来的hash值就一样,如果存储对象多了,就有可能不同的...

使用HashMap实现成绩添加,输入次数,名字,可以算出总成绩,平均成绩,还有名次等

使用HashMap和LiinkedList实现成绩添加,输入次数,名字,可以算出总成绩,平均成绩,还有名次等

立即提问
相关内容推荐