Tag: hashmap

如何获得价值。 来自HashMap的密钥?

我正在用Java编写一个简单的编辑文本。 当用户打开文件将在JTabbedPane打开时。 从中获取文件。 我做了保存打开的文件。 HashMap hash = new HashMap(); 哪里: Tab将接收值,例如: File file, JTextArea container, JTabbedPane tab 我有一个名为Tab的类: public Tab(File file, JTextArea container, JTabbedPane tab) { this.file = file; this.container = container; this.tab = tab; tab.add(file.getName(), container); readFile(); } 现在,在这个SaveFile类中,我需要获取存储在HashTab中的值,以保存文件。 我是怎么做到的?

如何计算Java中的HashMap内存使用情况?

我在接受采访时被要求计算HashMap的内存使用量,以及如果你有200万个项目它会消耗多少估计内存。 例如: Map <String,List> mp=new HashMap <String,List>(); 映射是这样的。 一个键作为字符串,一个字符串数组作为键。 key value —– ————————— abc [‘hello’,’how’] abz [‘hello’,’how’,’are’,’you’] 我如何估计Java中这个HashMap对象的内存使用情况?

Hashmap与arrays性能

当Array的索引已知时,使用Arrays或HashMaps更好(性能方面)吗? 请记住,示例中的’objects array / map’只是一个示例,在我的实际项目中它由另一个类生成,所以我不能使用单个变量。 ArrayExample: SomeObject[] objects = new SomeObject[2]; objects[0] = new SomeObject(“Obj1”); objects[1] = new SomeObject(“Obj2”); void doSomethingToObject(String Identifier){ SomeObject object; if(Identifier.equals(“Obj1”)){ object=objects[0]; }else if(){ object=objects[1]; } //do stuff } HashMapExample: HashMap objects = HashMap(); objects.put(“Obj1”,new SomeObject()); objects.put(“Obj2”,new SomeObject()); void doSomethingToObject(String Identifier){ SomeObject object = (SomeObject) objects.get(Identifier); //do stuff } HashMap看起来要好得多,但我真的需要这方面的表现才能优先考虑。 编辑:井阵,那么,建议仍然欢迎 […]

Java ConcurrentHashMap优于HashMap性能吗?

我刚刚阅读了“清洁代码”一书,并发现了这一说法: 当Java年轻的时候,Doug Lea写了一本开创性的书[8] Java中的Concurrent Programming。 随着本书的出现,他开发了几个线程安全的集合,后来成为java.util.concurrent包中JDK的一部分。 该软件包中的集合对于multithreading情况是安全的,并且它们表现良好。 实际上,几乎在所有情况下, ConcurrentHashMap实现都比HashMap表现更好 。 它还允许同时并发读取和写入,并且它具有支持常见复合操作的方法,否则这些操作不是线程安全的。 如果Java 5是部署环境,请从ConcurrentHashMap开始 请注意,在上面的引用中,我使用了“[n]”,其中n是某个数字,表示作者提供引用的地方,正如您所看到的,他没有为粗体部分提供任何参考。 并不是说我不相信这个陈述,但我很想知道这个陈述的支持证据。 那么,有没有人知道任何显示ConcurrentHashMap和HashMap的性能统计信息的资源? 或者任何人都可以向我解释为什么ConcurrentHashMap比HashMap快? 当我rest时,我可能会调查ConcurrentHashMap的工作实现,但是现在我想听听SOERS的回答。

两个具有相同哈希码的不等对象

Hashcode()和equals()的概念是 1)如果两个对象根据equal()相等,则在这两个对象中的每一个上调用hashcode方法应该产生相同的哈希码。 而另一个是 2)如果两个对象根据equal()不相等,则不需要在两个对象中的每一个上调用hashcode方法必须产生不同的值。 我尝试并理解了第一个,这是第一点的代码。 public class Test { public static void main(String[] args) { Map map = new HashMap(); map.put(1, 11); map.put(4, 11); System.out.println(map.hashCode()); Map map1 = new HashMap(); map1.put(1, 11); map1.put(4, 11); System.out.println(map1.hashCode()); if (map.equals(map1)) { System.out.println(“equal “); } } } 上面的程序为两个不同的对象提供相同的哈希码。 有人可以用一个例子来解释我,根据equals()不同的两个不同对象如何具有相同的哈希码。

Java On-Memory高效键值存储

我存储了1.11亿个键值对(一个键可以有多个值 – 最大值为2/3),其键为50位整数,值为32位(最大值)整数。 现在,我的要求是: 快速插入(键,值)对[允许重复] 基于密钥快速检索值/值。 这里给出了一个很好的解决方案,基于MultiMap。 但是,我想在主内存中存储更多的键值对,没有/小的性能损失。 我从网络文章中研究过B + Tree,R + Tree,B Tree,Compact Multimap等可以很好地解决这个问题。 有谁能够帮助我: 是否有任何Java库可以满足我所有这些需求(上面提到/其他ds也可以接受。没有问题)? 实际上,我想要一个高效的java库数据结构来存储/检索键值/值对,这需要占用更少的内存,并且必须在内存中构建。 注意:我曾尝试使用路易斯·沃瑟曼,京都/东京内阁等提到的HashMultiMap(带有一些修改的番石榴)等。我的经验对于磁盘烘焙解决方案并不好。 所以请避免:)。 另一点是,为了选择库/ ds,一个重点是:密钥是50位(所以如果我们分配64位),14位将丢失,值为32位Int(最大) – 大多数是10-12-14位。 所以,我们也可以节省空间。

我什么时候应该使用Hashtable而不是HashMap

这不是关于Hashtable和HashMap之间差异的问题。 我知道Hashtable对象不能接受键或值条目的null值,它是同步集合,并且它使用的内存比HashMap略少。 我想知道使用Hashtable而不是HashMap更合适的场景。

HashTable和HashMap键值如何存储在内存中?

我知道有一种散列技术应用于一个键,用于将其值存储在内存地址中。 但是我不明白碰撞是怎么发生的 ? Java使用哪种哈希算法来创建内存空间 ? 是MD5吗?

Java – 将hashmap写入csv文件

我有一个带有String键和String值的hashmap。 它包含大量键及其各自的值。 例如: key | value abc | aabbcc def | ddeeff 我想将此hashmap写入csv文件,以便我的csv文件包含如下行: abc,aabbcc def,ddeeff 我在这里使用supercsv库尝试了以下示例: http ://javafascination.blogspot.com/2009/07/csv-write-using-java.html。 但是,在此示例中,您必须为要添加到csv文件的每一行创建一个hashmap。 我有大量的键值对,这意味着需要创建几个哈希映射,每个哈希映射包含一行的数据。 我想知道是否有更优化的方法可用于此用例。 提前致谢!

如何比较java中的两个hashmaps?

我有两个哈希映射,如下所示: 1.=============Employee================= Key : 1_10 : Value : 13/04/2012 Key : 1_11 : Value : 18/04/2012 Key : 1_12 : Value : 19/04/2012 Key : 1_14 : Value : 23/04/2012 Key : 1_13 : Value : 20/04/2012 Key : 1_16 : Value : 25/04/2012 Key : 1_1 : Value : 02/04/2012 Key : 1_15 : […]