2010-10-17 3 views
6

Was ist eine saubere Möglichkeit, Paare von Strings zu halten, die nicht unbedingt Schlüsselwerte sind (möglicherweise doppelte Schlüssel), für eine kleine Sammlung? List [List [String]] funktioniert offensichtlich, sieht aber schmutzig aus.Scala: gute Möglichkeit, Paare von Strings zu halten

Prost
Parssa

Antwort

11

Tuples sind die ideale Datenstruktur Paare darzustellen. Verwenden Sie eine Liste von (String, String) Tupel.

14

List[(String,String)] ist die Standardlösung:

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

Genau! Das Schöne an Tupeln ist, dass Gleichheit, Mustererkennung usw. so funktionieren, wie man es erwarten würde. '(" foo "," bar ") == (" foo "," bar ")' 'gibt' true' zurück, zum Beispiel. – soc

+3

Sie erhalten auch lexikographische Anordnung von Paaren, die ein sehr nettes Freebie ist. –

+2

Ich bin gestern auf diesen netten Tupeltrick gestoßen: http://goo.gl/MT6J. Es nutzt die Tatsache, dass für alle Tuple-Klassen Instanzen des 'Ordering'-Merkmals definiert sind. – missingfaktor

Verwandte Themen