Domanda

Sto facendo un programma di decifrare crittografare e per la mia classe di programmazione, ma io sono un anticipo anno del gruppo in modo da ho pensato di semplificare le cose utilizzando quello che ho imparato l'anno scorso. Ho deciso di usare una mappa ad albero. Cosa fa il programma è che ci vuole in un file, legge la prima riga che contiene i dati di crittografare di come saranno codificate le lettere. È in un formato come "A-> B", "B-> C", "C-> A" ecc e poi una riga vuota per la linea 2 e la terza riga contiene il messaggio. Ho usato reg. espressioni per rimuovere il char è non ho bisogno dal file di testo, mappato le chiavi per la prima lettera e quindi impostare i valori alla lettera della freccia. (A è fondamentale, B è il valore) Quindi, se il messaggio ha detto ABC, sarebbe diventato BCA. Mi domando, come per decifrare, se ci fosse un modo per capovolgere facilmente le chiavi e valori per cui, se fosse ingresso, A = B chiave val, sarebbe scambiare a chiave B = A val. Solo in cerca di un metodo più facile di quello che sto facendo attualmente con le collezioni e iteratori.

È stato utile?

Soluzione

  

Solo in cerca di un metodo più facile di quello che sto facendo attualmente con le collezioni e iteratori.

Questo è l'unico modo che si possa farlo, il motivo è che in una mappa generale, ci potrebbero essere diverse chiavi di mappatura per lo stesso valore, nel qual caso non ci sarebbe alcun modo per determinare automaticamente che cosa fare con duplicato chiavi nella mappa risultante.

Altri suggerimenti

Sembra che si desidera un bidirezionale mappa, qualcosa di simile a Guava BiMap

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top