W języku Java szukam sposobu mapowania wielu kluczy na tę samą wartość. Powiedzmy mam numery 0-9 klucze, jak i „X”, „Y” i „Z” jako wartości w następujący sposób:Baza danych Java do odwzorowania wielu kluczy na tę samą wartość
0->y
1->y
2->y
3->x
4->x
5->y
6->z
7->y
8->z
9->z
teraz X, Y i Z są naprawdę długie ciągi i mam miliony kluczy, więc nie mogę pozwolić sobie na wielokrotne przechowywanie napisów. Jak byś to zrobił?
Jedną z idei było stworzenie dwóch tablic: wygenerowano sztuczną sekundę do klucza, do której zamapowano oryginalne klucze, a która w innej tablicy jest kluczem do rzeczywistych wartości. W ten sposób wartości są przechowywane tylko raz i oryginalne klucze mogą nadal być pośrednio przypisane do wartości:
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
Pytanie jednak: Czy istnieje lepsza struktura danych do tego?
To ma sens. Dziękuję Ci. – eikes
+1 dla 'intern()' –
Pete, wystarczy. Naprawdę nie mam czasu, aby napisać na ten temat artykuł, dlatego właśnie usunąłem ten komentarz. –