Java开发

放入java HashMap时如何避免重新排序项目

我正在创建一个新地图并将字符串推入其中(没什么大不了的)-但我注意到随着地图的增长,字符串正在重新排序.是否可以停止这种重新排序,以便地图中的项目保留放置时的顺序? Mapx = new HashMap();x.put("a","b");x.put("a","c");x.put("a","d");x.put("1","2");x.put("1","3");x.pu ..
发布时间:2022-01-08 14:38:38 Java开发

hashCode、实现以及与 HashMap 的关系

所以我在这里问了另一个相关问题:java string hash function with avalanche effect,但我现在有一个不同的相关问题. 我在那个问题中确定的是 String 的 hashCode() 函数没有雪崩效应.这意味着,例如,如果我有字符串“k1"、“k2"、“k3",并且我在每个字符串上调用 hashCode(),则返回的值将是连续的. 现在,根据我对 ..
发布时间:2022-01-08 14:38:31 Java开发

排序键是哈希图中的日期条目

我有一个 hashMap,它具有以下值作为键 value(sql date , integer) 对: a.put("31-05-2011",67);a.put("01-06-2011",89);a.put("10-06-2011",56);a.put("25-05-2011",34); 当我尝试使用基于键对 hashMap 进行排序时:Map modified_a=new TreeMap(a ..
发布时间:2022-01-08 14:38:23 Java开发

Java HashMap 调整大小

假设我们有一些代码 类 WrongHashCode{公共 int 代码=0;@覆盖公共 int hashCode(){返回码;}}公共类重新散列{公共静态无效主(字符串 [] args){//初始容量为2,负载率75%HashMaphashMap=new HashMap(2,0.75f);WrongHashCode wrongHashCode=new ..
发布时间:2022-01-08 14:38:13 Java开发

如何在 Java 中拆分 HashMap

我想知道是否可以将 HashMap 拆分为更小的子图. 在我的例子中,我有一个 100 个元素的 HashMap,我想从原始元素创建 2 个(或更多)更小的 HashMap,第一个包含 0 到 49 的条目,第二个包含 50 到 99 的条目. 映射 bigMap = new HashMap ();//应该包含 'bigMap' 的 0 到 ..
发布时间:2022-01-08 14:38:05 Java开发

HashMap 中 NULL 键的哈希码

我只是在阅读 Java 中 HashMap 和 HashTable 类之间的区别.在那里我发现了一个区别,前者允许空键,而后者不允许相同的权限.就 HashMap 的工作而言,我知道,它在 key 上调用 hashcode 方法来查找要放置该键值对的存储桶.我的问题来了:如何计算空值的哈希码或空键的哈希码是否有任何默认值(如果有,请指定值)? 解决方案 from HashMap: pub ..
发布时间:2022-01-08 14:37:30 Java开发

Java Hashmap 中有什么理由在 TREEIFY_THRESHOLD 上有 8 个吗?

从 Java 8 开始,hashMap 稍作修改,如果同一存储桶上有超过 8 个 (TREEIFY_THRESHOLD=8) 项,则 hashMap 具有平衡树而不是链表.选择 8 有什么理由吗? 如果是 9 会影响性能吗? 解决方案 使用平衡树而不是链表是一种权衡.在列表的情况下,必须执行线性扫描以在存储桶中执行查找,而树允许日志时间访问.当列表很小时,查找速度很快,并且使用树实际 ..
发布时间:2022-01-08 14:36:58 Java开发

Java HashMap 如何对“get"执行恒定时间查找 O(1)?操作?

我了解 HashMap 如何工作的基础知识 - hm.put(obj) 根据 obj.hashCode 值找到正确的存储桶来放置对象.然后在该桶中,如果另一个对象 .equals(obj) 则替换它,如果没有将其添加到桶中. 但我不清楚 HashMap.put 和 HashMap.get 如何可以是常数时间 O(1).据我了解,存储桶的数量应基于哈希码,因此将 100 个对象放入哈希图中将( ..
发布时间:2022-01-08 14:36:49 Java开发

通过深度HashMap递归迭代

我有一个类似于以下内容的 JSON 字符串: {“富":“酒吧",“身份证":1,“孩子们":[{“一些":“字符串",“身份证":2,孩子们 : []},{“一些":“字符串",“身份证":2,孩子们 : []}]} 我对此字符串进行 JSON 解析,然后将所有对象转换为 HashMap,将所有数组转换为 HashMap[].我的问题是我需要一个递归函数来遍历 Java 中这个 JSON 结 ..
发布时间:2022-01-08 14:36:40 Java开发

对 Hashmap 中的 Object 的值进行排序

我想按对象的值对 Hashmap 进行排序.在这种情况下,按国家/地区代码. 关键对象字符串忠诚度国家- 国家的名字- 国家代码- 国家/地区 我的代码如下: public static HashMap忠诚度国家排序图(哈希图忠诚度国家地图){if (loyaltyCountryMap != null) {列表键 = new ArrayList();keys.addAll(loyaltyC ..
发布时间:2022-01-08 14:36:31 Java开发

Map Java 的递归迭代

我正在编写一个递归函数,其目的是遍历 pList 文件.我的代码是 public static void HashMapper(Map lhm1) throws ParseException {//设置设置 = jsonObject.keySet();for (对象条目:lhm1.entrySet()) {if(字符串的入口实例){System.out.println(entry.toStrin ..
发布时间:2022-01-08 14:36:11 Java开发

找到保存最小整数值的 HashMap 的键

我正在为需要学习最常用单词的年轻学生创建一个教育游戏.我随机选择列表中的三个单词,将它们显示在屏幕上,播放三个单词之一的录音,然后学生必须选择已经发音的单词.我记录了他们每个单词猜了多少次.通过这种方式,我可以为何时应该向学生介绍新单词设置一个标准.When three of the words are picked I'll like to pronounce the word that the ..
发布时间:2022-01-08 14:36:02 Java开发

如何在不打印重复项的同时从 HashMap 打印值?

我正在尝试修复这段代码,我正在从具有车牌号和所有者列表(该格式)的哈希图中打印.我试图通过 printOwners(); 打印出所有者.但我不能让它不打印重复. 我已经玩了一段时间了,似乎无法跳过重复项. 这是我的代码: import java.util.ArrayList;导入 java.util.HashMap;公共类车辆注册{私有HashMap ..
发布时间:2022-01-08 14:35:54 Java开发

将值添加到 Map 中已存在的键的列表中

晚上! 我有以下地图: HashMapmyMap = new HashMap(); 然后我向其中添加了以下数据: ArrayList myList = new ArrayList();myList.add("测试 1");myList.add("测试 2");myList.add("测试 3");myMap.put("测试", myList); 这给我留下了以下数据: 关键:测 ..
发布时间:2022-01-08 14:35:49 Java开发

ConcurrentHashMap 中的分割

我是 Java 世界的新手,我在探索 ConcurrentHashMap API 时发现了这一点: static final int DEFAULT_INITIAL_CAPACITY = 16;静态最终浮点 DEFAULT_LOAD_FACTOR = 0.75F;静态最终 int DEFAULT_CONCURRENCY_LEVEL = 16;静态最终 int MAXIMUM_CAPACITY = ..
发布时间:2022-01-08 14:35:34 Java开发

访问 ConcurrentHashMap<Element, Boolean> 的每个元素的可扩展方式恰好一次

我有 32 个机器线程和一个 ConcurrentHashMapmap,其中包含很多键.Key 定义了一个公共方法 visit().我想visit() 使用我可用的处理能力以及可能的某种线程池,只对 map 的每个元素进行一次. 我可以尝试的事情: 我可以使用 map.keys() 方法.生成的 Enumeration 可以使用 nextElement() 进行迭 ..
发布时间:2022-01-08 14:35:17 Java开发

如何在出现“无法解析放置符号"错误时向 Hashmap 添加键和值

我正在使用 Android Studio 1.4.1,我刚刚创建了一个 Hashmap,并且正在学习如何填充和操作它的教程(关于 java).但是,我收到“无法解析符号放置"错误,并且“放置"命令为红色.我添加的图像显示了自动完成快照,尽管导入了 java.util.HashMap,但自动完成中没有可用的“put"命令.可用的命令也以红色显示.我尝试使用它们而不是“put"命令.我一直有这种类型的 ..
发布时间:2022-01-08 14:34:59 Java开发