2010-10-17 6 views
6

Che cos'è un modo semplice per contenere coppie di stringhe che non sono necessariamente valori-chiave (potrebbero avere chiavi duplicate), per una piccola raccolta? List [List [String]] funziona ovviamente ma sembra sporco.Scala: buon modo per conservare coppie di stringhe

Acclamazioni
Parsa

risposta

11

tuple sono la struttura dati ideale per rappresentare coppie.

Quindi utilizzare un elenco di tuple (String, String).

14

List[(String,String)] è la soluzione standard:

scala> List(("foo","bar"), ("foo","baz")) 
res1: List[(java.lang.String, java.lang.String)] = List((foo,bar), (foo,baz)) 
+3

Esattamente! La cosa bella delle tuple è che l'uguaglianza, la corrispondenza dei pattern, ecc. Funziona come ci si aspetterebbe. '(" foo "," bar ") == (" foo "," bar ")' restituisce 'true', per esempio. – soc

+3

Hai anche l'ordinamento lessicografico delle coppie, che è un omaggio molto bello. –

+2

Mi sono imbattuto in questo bel trucco da tupla ieri: http://goo.gl/MT6J. Fa un buon uso del fatto che tutte le classi di tuple hanno istanze di caratteristiche di 'Ordinamento' definite per loro. – missingfaktor

Problemi correlati