jjzjj

linkedHashMap

全部标签

java - 从 LinkedHashMap 构建有序的 JSON 字符串

我需要按插入顺序排列键/值对,因此我选择使用LinkedHashMap而不是HashMap。但我需要将LinkedHashMap转换为JSON字符串,其中LinkedHashMap中的顺序保留在字符串中。但目前我正在通过以下方式实现它:首先将LinkedHashMap转换为JSON。然后将JSON转换为字符串。importjava.util.LinkedHashMap;importjava.util.Map;importorg.json.JSONObject;publicclasscdf{publicstaticvoidmain(String[]args){MapmyLinkedHas

java: map 动物园,选择什么

我是Java世界的新手(因为我主要用C/C++编写)。我在我的应用程序中使用map。由于java.util.Map是抽象的,我需要实例化它的实现。通常我使用HashMap像:Mapx=newHashMap();但在java文档中我发现了很多其他的实现,比如TreeMap,LinkedHashMap,HashTable等。我想知道我是否可以继续盲目地使用HashMap,否则这些Map实现之间存在任何重要差异。要点的简要列表就可以了。谢谢。 最佳答案 永远不要为Hashtable烦恼,它是Java1.0的产物;HashMap是通用默认值

java - 要洗牌的键值(整数,字符串)列表的最佳结构

我需要在Java中实现一个结构,它是一个键值列表(类型为Integer-String),我想对其进行洗牌。基本上,我想做那样的事情。publicLinkedHashMapgetQuestionOptionsMap(){LinkedHashMapshuffle=newLinkedHashMap();if(answer1!=null)shuffle.put(newInteger(1),answer1);if(answer2!=null)shuffle.put(newInteger(2),answer2);if(answer3!=null)shuffle.put(newInteger(3),

java - 如何通过 LinkedHashMap<String,ArrayList<String>> 创建循环?

请帮我创建一个循环LinkedHashMap>h:if(h.get("key1").size()==0)System.out.println("Thereisnoerrorsinkey1.");elseSystem.out.println("ERROR:thereareunexpectederrorsinkey1.");if(h.get("key2").size()==0)System.out.println("Thereisnoerrorsinkey2.");elseSystem.out.println("ERROR:thereareunexpectederrorsinkey2.")

java - 什么时候在 java 中使用 linkedhashmap 而不是 hashmap?

在linkedhashmap和hashmap中选择的实际场景是什么?我已经完成了每个工作并得出结论linkedhashmap维护插入顺序,即元素将按照与插入顺序相同的顺序检索,而hashmap不会维护顺序。那么谁能说说在哪些实际场景中选择其中一种收集框架以及为什么? 最佳答案 LinkedHashMap将按照条目放入映射的顺序进行迭代。nullLinkedHashMap中允许值。实现不同步,使用双链桶。LinkedHashMap与HashMap非常相似,但它增加了对添加或访问项目的顺序的认识,因此迭代顺序与插入顺序取决于构造参数。L

java - TreeMap、HashMap 和 LinkedHashMap 的性能?

在TreeMap中-元素被排序在HashMap中-元素未排序那么,如果我考虑get、put和remove方法,我应该使用哪个映射来提高性能? 最佳答案 使用HashMap除非您需要排序。HashMap更快。​​也就是说,您可以通过使用通用接口(interface)作为声明来轻松切换:MapM=newHashMap();...useMlotsofplaces...然后您只需切换一个位置,您的代码就会使用新的map类型。编辑:一个简单的计时测试:importjava.util.*;classTimingTest{publicstatic

java - 使用 values() 方法从 LinkedHashMap 获取条目的 LinkedList

我正在尝试了解是否可以从链接的HashMap中获取条目的链接列表。我可以获得entrySet(),然后使用迭代器遍历插入顺序中的每个条目。这将为我提供插入顺序中条目的链接列表。如果我使用values()方法,我能保证得到相同的结果吗? 最佳答案 从Java8开始,让我们看一下LinkedHashMap的来源.我们可以从entrySet()中推导出内部行为和values()方法定义:entrySet()方法在第627行返回newLinkedEntrySet(),该行使用newLinkedEntryIterator()作为迭代器634.

java - LinkedHashMap 是如何工作的?

我读到了LinkedHashMap从描述中(虽然非常有趣)我无法理解它实际上是如何在引擎盖下工作的。作为旁注,我知道如何HashMap在Java底层工作。所以我查看了源代码,但仍然无法弄清楚它是如何工作的。在这种情况下,我可能没有掌握OOP的一些基本知识,所以请耐心等待。总结一下让我困惑的部分如下:LinkedHashMap将所有调用委托(delegate)给其父级HashMap.在内部它会覆盖HashMap.Entry实现各种recordAccess和recordRemoval似乎实现了LinkedHashMap逻辑的方法但实际Entries在基类的表内,即HashMap实例化Has

java - 并发修改异常

我目前正在开发一个多线程应用程序,我偶尔会收到并发修改异常(平均大约每小时一次或两次,但似乎以随机间隔发生)。有问题的类本质上是映射的包装器——它扩展了LinkedHashMap(accessOrder设置为true)。该类有几个方法:synchronizedset(SomeKeykey,SomeValueval)set方法在内部映射中添加一个键/值对,并受synchronized关键字保护。synchronizedget(SomeKeykey)get方法根据输入键返回值。rebuild()内部map偶尔重建一次(~每2分钟一次,间隔与异常不匹配)。rebuild方法本质上是根据键重建

java - 查找至少有 n 个元素与另一个键相同的键,包含列表

我有一个LinkedHashMap的>.我正在构建map,所以也许有更好的方法来组织所有数据。我正在尝试获取具有公共(public)列表的键,每个列表中至少有2个元素是公共(public)的。例如:Map----------------------|Key|Values|----------------------|M1|[A1,A3]||M2|[A1,A2,A3]||M3|[A1,A2]||M4|[A2,A3]|----------------------最后,我希望得到这个列表:[[M2,M3],[M2,M4],[M1,M2]]M2和M3同时包含A1和A2M2和M4同时包含A2和A