2010-10-17 18 views
6

¿Cuál es una manera ordenada de mantener pares de cadenas que no son necesariamente pares clave-valor (pueden tener claves duplicadas), para una colección pequeña? List [List [String]] funciona obviamente pero parece sucio.Scala: buena manera de mantener pares de cadenas

Saludos
Parsa

Respuesta

11

tuplas son la estructura de datos ideal para representar pares.

Así que use una lista de (String, String) tuplas.

14

List[(String,String)] es la solución estándar:

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

¡Exactamente! Lo bueno de las tuplas es que la igualdad, la coincidencia de patrones, etc. funciona como uno esperaría. '(" foo "," bar ") == (" foo "," bar ")' devuelve 'true', por ejemplo. – soc

+3

También obtiene ordenamiento lexicográfico de pares, que es un regalo de promoción extremadamente bueno. –

+2

Me encontré con este bonito truco de tupla ayer: http://goo.gl/MT6J. Hace un buen uso del hecho de que todas las clases de tuplas tienen instancias de rasgo 'Ordering' definidas para ellas. – missingfaktor

Cuestiones relacionadas