我正在为我的编程课程制作一个加密和解密程序,但是我比团队领先一年,所以我想我会用去年学到的东西来简化。我决定使用树形图。该程序所做的是它接收一个文件,读取第一行,其中包含字母将如何编码的加密数据。它采用诸如“A-> B”,“B-> C”,“C-> A”等格式,然后第2行和第3行的空白行包含该消息。我用了reg。表达式从文本文件中删除我不需要的字符,将键映射到第一个字母,然后将这些值设置为带箭头的字母。 (A是关键,B是值)所以如果消息说ABC,它将成为BCA。我想知道,至于解密,如果有一种方法可以轻松地将键和值翻转到输入的位置,A键= B val,它将交换为B key = A val。只是寻找一种比我目前使用集合和迭代器更简单的方法。
答案 0 :(得分:1)
只是寻找一种比我目前使用集合和迭代器更简单的方法。
这是你可能做到的唯一方法,原因是在一般的地图中,可能有几个键映射到相同的值,在这种情况下,无法自动确定如何处理重复生成的地图中的键。
答案 1 :(得分:1)
听起来你想要一张双向地图,比如番石榴BiMap