hashmap相关内容

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开发

试图从 RwLock 返回引用,“借来的值不够长"错误

我最近一直在做我的第一个 Rust 项目,但遇到了障碍.我正在使用 HashMap 将 Strings 映射到 AtomicUsize 整数.HashMap 由 RwLock 保护以允许并发访问.我希望能够在 HashMap 中返回对 AtomicUsize 值的引用,但是如果我尝试在 RwLockWriteGuard 的生命周期之后将这些引用返回给调用者 我收到一个错误,提示 借用值的寿命不够长 ..
发布时间:2022-01-08 14:35:25 其他开发

访问 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开发

为什么 HashMap 调整大小以防发生碰撞或最坏的情况

我只针对 1.7 之前的 java 版本提出这个问题.我正在使用反射来找出 HashMap 的当前容量.在下面的程序中,将 12 个唯一的人放入一个 HashMap 桶中(使用相同的哈希码).然后我将第 13 个独特的人放在相同或不同的存储桶上(使用相同或不同的哈希码).在这两种情况下,添加第 13 个元素后,HashMap 都将大小调整为 32 个桶.我知道由于负载因子 0.75 和初始容量 1 ..
发布时间:2022-01-08 14:34:49 Java开发

如何在 Swift 中实现双向映射?

我目前需要一个高性能的双向地图.在 Swift 中,可以反转字典,但是,这将返回它所构成的类型的元组,而不是对应的字典. 是否有用于此的库或有人对如何解决此问题有想法? 谢谢 解决方案 使用 Swift 4,您可以使用通用结构轻松制作自己的: struct BidiMap{私人 var _forward : [F:T]?= 无私人 ..
发布时间:2022-01-08 14:34:43 移动开发

如何在 Rust 中懒惰地创建其构造使用 self 的地图条目

我正在尝试在 Rust 中实现惰性构造/记忆化评估/缓存习语. 有一个外部类型,它有一堆数据和一个访问器方法.访问器方法需要返回一个缓存的计算(如果有的话)或者计算它并将返回值存储在映射中以供以后使用.缓存值不需要引用外部值,所以不存在循环引用问题;但它确实需要访问外部值的数据才能构建自己. 这是一个没有通过 Rust 借用检查器的完整示例: 使用 std::collections: ..
发布时间:2022-01-08 14:34:38 其他开发

<<= 运算符在 Java 中是什么意思?

您能否解释一下来自 HashMap 构造函数 特别是这一行 容量= initialCapacity198 整数容量 = 1;199 而(容量 解决方案 相当于capacity = capacity . 该操作将容量的位向左移动一位,相当于乘以 2. 您发布的特定代码找到大于 initialCapacity 的 2 的最小幂. 所以如果 ..
发布时间:2022-01-08 14:34:28 Java开发

为什么要在 HashMap 中使用哈希方法

hash 方法状态的Java doc, 检索对象散列码并将补充散列函数应用于结果散列,以防止劣质散列函数.这很关键,因为 HashMap 使用长度为二的幂的哈希表,否则会遇到低位没有差异的 hashCode 的冲突. 我无法理解的是, 1) 为什么 HashMap 使用长度为二的幂的哈希表? 在声明表时也有说明: /*** 表格,根据需要调整大小.长度必须始终是 2 的幂 ..
发布时间:2022-01-08 14:34:21 Java开发