hashmap 相关问题

一种数据结构,它使用散列函数将标识值(称为键)映射到其关联值

Golang - 基准测试问题

我正在尝试对自定义哈希图实现进行基准测试 - > https://github.com/dmarro89/go-redis-hashtable。 该结构体目前有 3 个方法:Set、Get 和Delete。 在设置基准中,我准备...

回答 1 投票 0

迭代具有 50000 或更多记录以匹配键的映射的有效方法

公共用户 getUserEntryFromIdKey(String id) { for (Map.Entry 条目: userMap.entrySet()) { if (entry.getKey().matches(id)) { 返回entry.getValue(); ...

回答 2 投票 0

使用迭代器删除条目时出现ConcurrentModificationException

我有一段简单的代码,它循环遍历映射,检查每个条目的条件,如果条件为真,则在条目上执行一个方法。之后该条目将从地图中删除...

回答 4 投票 0

如何统计unordered_set中整数出现的频率?

一个可能看起来微不足道的问题,但我想知道在我将包含重复整数的数组转换为 unordered_se 之后是否有一种方法可以获得唯一的整数计数...

回答 3 投票 0

如何通过对两个键的引用从具有两个键的 HashMap 中获取值?

HashMap 实现 get 方法的方式需要单个不可变借用。但我想要一个单独接受两个键的实现(用于未来的特征接口),如下所示: 酒吧街...

回答 3 投票 0

如何将具有多个相同键和列表的多个映射组合为值?

我是Java新手,我正在尝试合并多个以字符串作为键、列表作为值的映射以生成一个新的映射。 公开课学生{ 私有字符串名称; 私人字符串国家; //

回答 3 投票 0

使用流对映射进行排序会抛出“无法调用“java.lang.Comparable.compareTo(Object) 流”

我有一个带有整数键和值的 HashMap。我试图按值对这个 hashMap 进行排序,并将这个排序后的映射的键存储在列表中。 我想使用流来对HashMap进行排序。下面是我的代码...

回答 1 投票 0

如何通过Stream统计Map中的单词数

我正在使用List——它包含一个大文本。文字如下: Listlines = Arrays.asList("第一行","第二行","有些单词可以

回答 2 投票 0

Java HashMap 占用大量内存

问题是我的哈希图占用了太多空间。我想知道代码是否可以以更有效的方式完成,而不占用那么多内存。我有一个巨大的数组以及我使用的原因

回答 5 投票 0

从 hashMapOf 获取“key”

我想从 hashMapOf 中获取密钥,但是当我尝试时,我的值也随之而来。我怎样才能只拿到我的钥匙? `val list = hashMapOf("element1" 到 "1" , "element2" 到 &...

回答 1 投票 0

具有空键功能的线程安全映射

我需要一个多线程 Map 对象在我的 Web 服务器的缓存中使用,并且我需要有 null 键。 HashMap 允许我拥有 null 键,但 ConcurrentHashMap 不允许。我尝试创建一个同步器...

回答 2 投票 0

我需要帮助了解此解决方案中如何考虑所有子数组

问题: 给定一个 0 索引的整数数组 nums。 nums 子数组的不同计数定义为: 令 nums[i..j] 为 nums 的子数组,由从 i 到 j 的所有索引组成,这样

回答 1 投票 0

合并两个映射并保留空值

我希望你一切都好。 我有两个地图,我想保留空值。我知道合并函数无法管理空值,但我需要保留空数据并使用二元运算。 我怎样才能...

回答 1 投票 0

只有哈希图的最后一个条目被添加到嵌套哈希图并返回

HashMap详细信息=new HashMap<>(); 开关(值){ 案例“已批准”: if(rs!=null) { ...

回答 1 投票 0

只有哈希映射的最后一个条目被添加到嵌套哈希映射中

HashMap详细信息=new HashMap<>(); 开关(值){ 案例“已批准”: if(rs!=null) { 哈希映射<

回答 1 投票 0

在 Java 中硬编码 Map 的其他方法?

我的Java程序中有一个HashMap,由大约200个键值对组成,这些键值对在运行时不会改变,我正在寻找一种初始化所有键值对的好方法。 目前我有一个...

回答 4 投票 0

使用链表实现哈希映射?

我想问可以用单链表实现Hash Map吗? (我将通过二次探测来解决碰撞) P.S 我是 python 新手。

回答 1 投票 0

objectInputStream.readObject() java.io.InvalidClassException: java.util.HashMap;本地类不兼容:使用 graalVM 流式传输 classdesc

包含有关您目标的详细信息: 使用 return (Map) objectInputStream.readObject();获取 Map 而不会在 graalVM 本机映像中失败。 显示一些代码: 代码其实很简单...

回答 1 投票 0

如何使用合并功能向HashMap添加元素<K, List<V>>

维护HashMap时,merge是一个非常有用的命令。我喜欢使用以下表达式将数字添加到总和中的简洁方法 map.merge(key, value, Double::sum); 我有一个 HashMap 我想更新。我可以使用类似的东西 if (!map.containsKey(key)) map.put(key, new List()); map.get(key).add(value); 有没有更优雅的方式使用合并来实现这一点? 这里可以类似地使用merge方法: map.merge(key, List.of(value), (l1, l2) -> Stream.concat(l1.stream(), Stream.of(value)).collect(Collectors.toList())); 注意:我在这里使用Stream是因为列表可以是不可变的(初始值就是这样的List.of(value)) 但是,除非您使用 ConcurrentHashMap,否则我怀疑这是否会像简单的 if 解决方案一样优雅。 如果您拥有预先构建地图所需的所有数据,那么您可以这样做 final Map<String, List<X>> result = list.stream().collect(Collectors.groupingBy(x -> x.key, Collectors.toList())); 否则,你可以使用computeIfAbsent,但它与你已经得到的基本相同 result.computeIfAbsent(x.key, (key) -> new ArrayList<>()).add(x); 我们可以利用这样一个事实,即 BiFunction 这里采用 oldValue List(针对键的当前值)和 newValue List(您想要添加/删除/为键创建新结果值的任何值)作为参数,对它们进行操作以返回第三个列表,这将是映射中该键的新状态。 map.merge(key, Arrays.asList(new String[]{newStringToBeAdded}), (oldList, newList) -> { return new ArrayList<String>(){{ addAll(oldList); addAll(newList); }}; }); 为了方便起见,我们在这里使用双括号初始化。

回答 3 投票 0

如何在 Java 中创建一些变量类型别名?

假设我有这个代码 Map列表 = new HashMap(); list.put("数字1", "一"); list.put("number2", "two"); 怎么...

回答 5 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.