Tag: hashmap

如何使用Map元素作为JComboBox的文本

我正在使用集合的所有元素填充JComboBox(使用addItem() )。 集合中的每个元素都是一个HashMap (所以它是一个Hashmaps的ComboBox ..)。 我的问题是 – 鉴于我需要每个项目都是HashMap如何在GUI上的combobox中将文本设置为apear? 它必须是地图中某个键的值。 通常,如果我使用自己的类型填充combobox,我只会覆盖toString()方法…但我不知道如何实现这一点,因为我使用的是Java HashMap。 任何想法(如果可能的话,没有实现我自己的HashMap)? 更新 :似乎没有办法避免让对象在JComboBox上覆盖toString()如果我想要自定义function..我希望有一种方法可以(1)指定要加载到JComboBox中的对象和( 2)指定这些对象在GUI中的显示方式。

在java Hashmap中将自己的类设置为键

我有一个类,我想在HashMap中设置为键。 我已经为该类实现了compareTo方法。 但是当我这样做时: map.put(new MyKey(dummyArguements),dummyValue); System.out.println(map.get(new MyKey(dummyArguements))); 我得到了。 这意味着hashmap无法识别两个密钥(用于get&put调用)是否相同。 有人可以帮我吗?

如何使HashMap与数组一起使用?

我使用布尔数组作为HashMap的键。 但问题是当一个不同的数组作为键传递时,HashMap无法获取键,尽管元素是相同的。 (因为它们是不同的对象)。 如何使用数组作为键? 这是代码: public class main { public static HashMap h; public static void main(String[] args){ boolean[] a = {false, false}; h = new HashMap(); h.put(a, 1); if(h.containsKey(a)) System.out.println(“Found a”); boolean[] t = {false, false}; if(h.containsKey(t)) System.out.println(“Found t”); else System.out.println(“Couldn’t find t”); } } 数组a和t都包含相同的元素,但HashMap不会为t返回任何内容。 我如何使其工作?

Objective-C的NSDictionary的Java等价物是什么?

在Java中,Objective-C的NSDictionary最接近的实现是什么? 对我来说,它看起来像HashMap ,但我对Objective-C很新。 谢谢

Java HashMap – 深层复制

我只是想找出如何制作HashMap的深层副本的最佳解决方案。 此映射中没有实现Cloneable对象。 我想找到比序列化和反序列化更好的解决方案。

HashMap#hash(int)方法的说明

有人可以向我解释静态HashMap #hash(int)方法吗? 生成均匀分布的哈希值背后的理由是什么? /** * Applies a supplemental hash function to a given hashCode, which * defends against poor quality hash functions. This is critical * because HashMap uses power-of-two length hash tables, that * otherwise encounter collisions for hashCodes that do not differ * in lower bits. Note: Null keys always map to hash […]

如何在Java中访问嵌套的HashMaps?

我在Java中有一个HashMap,其内容(你可能都知道)可以被访问 HashMap.get(“keyname”); 如果在另一个HashMap中有一个HashMap,即一个嵌套的HashMap,我将如何访问内容? 我可以这样做,内联: HashMap.get(“keyname”).get(“nestedkeyname”); 谢谢。

有没有办法在Java中随机获取HashMap的值?

有没有办法在Java中随机获取HashMap的值?

使用Properties类加载地图

我有一个包含75000个条目的地图,每个条目的平均大小为10kb。 我使用Properties类将此映射加载到内存中。 但是由于地图的大小,当主机上的RAM很小时,我得到OutOfMemoryException。 我有一个选择是批量读取条目(如10,000)到内存而不是加载完整的地图。 处理完最初的10k后,读取下一个10k。 有没有办法使用Properties类完成此操作。 另外,有没有更好的方法以这种方式加载地图条目? 感谢致敬, Sujith

Java HashMap使用通配符嵌套generics

我正在尝试制作一个hashmap值的hashmap,其中包含自定义类的不同子类的hashsets,如下所示: HashMap<String, Hashmap<String, HashSet>> superMap AttackCard有子类,如: Mage , Assassin , Fighter 。 superMap中的每个HashMap只会包含一个包含AttackCard单个子类的AttackCard 。 当我尝试放一个 HashMap<String, HashSet> 进入superMap,我得到一个编译器错误: 下面是发生错误的代码: public class CardPool { private HashMap<String, HashMap<String, HashSet>> attackPool = new HashMap(); private ArrayList auxiliaryPool; public CardPool() { (line 24)this.attackPool.put(“assassins”, new AssassinPool().get()); /* this.attackPool.put(“fighters”, new Fighter().getPool()); this.attackPool.put(“mages”, new Mage().getPool()); this.attackPool.put(“marksmen”, new Marksman().getPool()); this.attackPool.put(“supports”, new Support().getPool()); this.attackPool.put(“tanks”, […]