我有點迷失在哪個數據結構用來有效解決我的問題。我想將一個數組映射到一個值。我的意思是,如果我有1000個值,我需要能夠將多個其他值映射到1000個值中的每一個值。Java數據結構保存一個值映射到一個數組
例如,
我有1000-1000的A值。對於每個值A,我想映射k個其他值B(這些範圍也是1-1000)。但我確實希望確保任何值映射到A都不重複。不同A值之間的映射值可以相同(即2和1000都映射到它們)。
1 -> 138, 92, 835, 841, 12
2 -> 766, 324, 26, 933, 62
3 -> 53, 131, 62, 121, 67
4->160, 160 #NOT OK
4-> 162, 171, 594, 912, 455
...
1000->146, 981, 67, 246, 146
所以,當我看到一些任意值A時,我應該很容易識別任何值映射到它的值。所以如果我想訪問值3,我應該能夠打印出值A(3)及其相關值(53,131,62,121,67)。
我希望這是有道理的。實現這種數據結構的最佳方式是什麼?任何解釋或例子的幫助將不勝感激。
這應該很好,非常感謝! – Paul
通過'Map'檢索會更容易和高效 –
使用列表(因爲序號基本上是map鍵)並且具有O(1)查找時間,因爲它由一個數組支持,所以檢索就非常容易的地圖。 – PaulProgrammer