Java - Обмен значениями и ключами на одной карте? - PullRequest
1 голос
/ 13 сентября 2010

Я делаю программу шифрования и дешифрования для своего класса программирования, однако я на год опережаю группу, поэтому я решил упростить вещи, используя то, чему научился в прошлом году.Я решил использовать Древовидную карту.Что программа делает, это берет в файле, читает первую строку, которая содержит зашифрованные данные о том, как буквы будут закодированы.Он имеет формат «A-> B», «B-> C», «C-> A» и т. Д., А затем пустая строка для строки 2, а третья строка содержит сообщение.Я использовал рег.Выражения для удаления символов, которые мне не нужны, из текстового файла, сопоставили ключи с первой буквой, а затем задали эти значения буквой со стрелкой.(A является ключом, B является значением). Так что, если в сообщении сказано ABC, оно станет BCA.Мне интересно, что касается расшифровки, если бы был способ легко перевернуть Ключи и Значения туда, где, если бы ввод был, A key = B val, он переключился бы на B key = A val.Просто ищу более простой метод, чем тот, который я сейчас делаю с коллекциями и итераторами.

Ответы [ 2 ]

1 голос
/ 13 сентября 2010

Похоже, вы хотите двунаправленную карту, что-то вроде Guava BiMap

1 голос
/ 13 сентября 2010

Просто ищу более простой метод, чем тот, который я сейчас делаю с коллекциями и итераторами.

Это единственный способ, которым вы могли бы это сделать, причина в том, что в общемmap, может быть несколько ключей, сопоставляющих одно и то же значение, и в этом случае не будет способа автоматически определить, что делать с дублирующимися ключами в результирующей карте.

...