当前位置: 首页 > 知识库问答 >
问题:

链接哈希地图分配给具有不同键的新地图

李永寿
2023-03-14

我有一个linkedHashMap,键是一个整数,值是一个对象。相反,我需要最终的哈希映射有一个字符串键。示例:

var test:<Int?, User>
If Int==2 then new map should be : "Admin" -> {/..userobject} for that key.

我有一个枚举,每个int都映射到某个角色。但是,如何将链接哈希映射的键更改为该字符串角色而不是它的整数值?我可以循环访问链接的哈希图来重命名密钥吗?

共有1个答案

干高歌
2023-03-14

这种操作通常被称为“映射”或“转换”集合。它不仅适用于地图,也适用于列表和其他集合。

由于您只需要映射键并保持值不变,因此您可以在 Kotlin 中使用 mapKeys() 函数:

val input = mapOf(1 to "foo", 2 to "bar")
val result = input.mapKeys { it.key.toString() }

将< code>toString()替换为用于将int转换为String的任何内容。

 类似资料:
  • 用户上传一个由一百万字组成的巨大文件。我解析文件并将文件的每一行放入< code>LinkedHashMap中 我需要按键访问和删除O(1)。此外,我需要保留访问顺序,从任何位置迭代并排序。 内存消耗是巨大的。我启用了的重复数据删除功能,该功能出现在Java 8中,但事实证明,消耗了大部分内存。 我找到了< code>LinkedHashMap。Entry占用40个字节,但是只有2个指针——一个指

  • 我会从我想达到的目标开始 意图 该软件在for循环中解析XML数据。处理数据的 for 循环将持续到 50(因为我得到了 50 个不同的结果)。我最初所做的是,-方法解析整个XML数据并将其保存到TextViews中并显示它。但现在我想添加一个启动画面,只要数据加载就会显示。 XML文件像任何其他普通XML文件一样构建,因此当我通过for循环时,键总是相同的,但值不同。 方法 我已经做的是创建一个

  • 问题内容: Go如何计算地图中键的哈希值?它是真正唯一的并且可以在其他结构中使用吗? 我认为对于像或不可变的原始键来说很容易,但是对于复合结构来说似乎并不平凡。 问题答案: 语言规范没有说,这意味着它可以随时自由更改,或者在实现之间有所不同。 哈希算法在类型和平台之间有所不同。截至目前:在x86(32或64位)上,如果CPU支持AES指令,则运行时将使用,其是基于AES原语构建的哈希,否则它将使用

  • 如果我实现一个哈希表,我理解插入是在恒定的时间内完成的。我也明白,如果没有碰撞,我可以在不变的时间内找到物品。然而,如果我插入一个项目,并在任意索引中使用链表链接它,它最终在位置2,但它在列表下链接了3个链接,这是O(n)时间,进行搜索吗?

  • 我正在开发一款Android应用程序。在我的应用程序中,我集成了Facebook登录。我的facebook登录工作正常。但当我制作release apk并运行该应用程序并尝试登录Facebook时,它就不工作了。请看下面我的场景。 我生成如下的发布apk 然后我使用jks文件路径生成keyhash。 我得到了一个散列键,然后将其添加到开发人员配置文件设置中。 当我在我的设备上安装并运行apk并使用