Java- 1つのマップで値とキーを交換しますか?
質問
プログラミングクラスの暗号化と復号化プログラムを作成していますが、グループの1年先を行っているので、昨年学んだことを使用して物事を単純化すると思いました。ツリーマップを使用することにしました。プログラムが行うことは、ファイルにかかることです。文字のコーディング方法の暗号化データを含む最初の行を読み取ります。 「a-> b」、「b-> c」、「c-> a」などの形式で、次に行2の空白行と3行目にメッセージが含まれています。 Regを使用しました。テキストファイルから必要としない文字を削除するための式は、最初の文字にキーをマッピングしてから、それらの値を矢印の文字に設定しました。 (Aは重要で、Bは値です)したがって、メッセージがABCと言った場合、BCAになります。復号化に関しては、入力がある場合、キー= b valの場合にキーと値を簡単にめくる方法があれば、b key = a valに交換するのではないかと思います。コレクションやイテレーターで現在行っているよりも簡単な方法を探しています。
解決
コレクションやイテレーターで現在行っているよりも簡単な方法を探しています。
これがあなたがそれを行うことができる唯一の方法です。その理由は、一般的なマップでは、同じ値にマッピングするいくつかのキーがある可能性があるためです。結果のマップ。
他のヒント
双方向マップ、グアバのようなものが欲しいようですね bimap
所属していません StackOverflow