Java - 在一个映射中交换值和键?

标签 java iterator treemaps

我正在为我的编程课制作一个加密和解密程序,但是我比小组领先一年,所以我想我可以利用去年学到的东西来简化事情。我决定使用树状图。该程序的作用是接收一个文件,读取包含字母编码方式的加密数据的第一行。它的格式为“A->B”、“B->C”、“C->A”等,然后第 2 行为空行,第三行包含消息。我用过reg.表达式从文本文件中删除我不需要的字符,将键映射到第一个字母,然后将这些值设置为带箭头的字母。 (A是键,B是值)所以如果消息说ABC,它将变成BCA。我想知道,至于解密,是否有一种方法可以轻松地将键和值翻转到输入为 A key = B val 的位置,它将交换为 B key = A val。只是寻找一种比我目前使用集合和迭代器所做的更简单的方法。

最佳答案

Just looking for an easier method than what I am currently doing with collections and iterators.

这是您可能做到的唯一方法,原因是在一般映射中,可能有多个键映射到相同的值,在这种情况下,将无法自动确定如何处理重复项生成的映射中的键。

关于Java - 在一个映射中交换值和键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3696984/

相关文章:

java - 检查列表中的列表

Python 无限递归与生成器

c++ - 无法从一种迭代器类型转换为另一种,但两者完全相同

java - 将对象从文件读取到输入流

像 windirstat 这样的 Python 图?

java - bukkit 插件内的套接字在使用后关闭

java - 无法通过 eBay 的库存 API 列出商品

java - 如果值为零,如何在准备好的语句中设置 null

c++ - 在类型 : map<int, map<int, int>> 上使用 operator[][] 时不会更新值

java - 将树形图键和值转换为数组