En Java estoy buscando una forma de asignar varias claves al mismo valor. Vamos a decir que tengo los números 0-9 como teclas, y "x", "y" y "z" como valores de la siguiente manera:Estructura de datos de Java para asignar varias claves al mismo valor
0->y
1->y
2->y
3->x
4->x
5->y
6->z
7->y
8->z
9->z
ahora x, y, z son cadenas muy largas, y tengo millones de claves, así que no puedo permitirme almacenar las cadenas varias veces. ¿Cómo lo harías?
Una idea que tuve fue crear dos matrices: se generó una segunda clave artificial para la cual se mapearon las claves originales y que en otra matriz es la clave de los valores reales. De esta manera los valores sólo se almacenan de una vez las llaves originales todavía se pueden asignar indirectamente a los valores:
0->k1
1->k1
2->k1
3->k2
4->k2
5->k1
6->k3
7->k1
8->k3
9->k3
k1->y
k2->x
k3->z
pregunta, sin embargo: ¿Hay una mejor estructura de datos para esto?
Eso tiene sentido. Gracias. – eikes
+1 for 'intern()' –
Pete, es suficiente. Realmente no tengo tiempo para escribir un artículo, así que acabo de eliminar el comentario. –