Originariamente inviato da Gianluigi83
mi occorre una struttura dati che preservi l'ordinamento e che contenga delle coppi chiave, valore <String,String>.
Credo che l'unica sia TreeMap<String,String>..
Sì, TreeMap mantiene internamente la collezione ordinata in base al contenuto delle chiavi (basandosi su Comparable o un Comparator).

Originariamente inviato da Gianluigi83
Sapete come fare se devo scorrerlo tutto?
Puoi prendere un Set delle chiavi o delle entry, vedi keySet() e entrySet() ed iterare sul Set. TreeMap comunque è un NavigableMap, puoi anche fare altri tipi di ricerche sulla map (es. dammi la chiave più alta, dammi la chiave appena maggiore di X, ecc....)

Originariamente inviato da Gianluigi83
TreeMap ha per caso qualche svantaggio?
Il fatto che TreeMap è organizzato internamente come un albero (Red-Black), porta al fatto che per cercare una chiave o sapere dove inserire una chiave, deve fare delle comparazioni con le chiavi lungo l'albero. Da qui deriva che la complessità è O(log N) per la ricerca/inserimento di una chiave.
Mentre una HashMap, per queste cose, ha una complessità O(1) (teoricamente cioè in tempo costante).