2016-05-20 87 views
-5

我一直在使用處理鍵/值對的HashMap。但是,現在我需要處理關鍵:價值,價值。是否有可能擁有2個值的一個鍵? 你能爲我推薦一個數據結構/集合或策略嗎?哪個集合/數據結構可以處理鍵值,值

+2

這是Java還是C++?無論如何,你需要一個真正的物體。 「(價值,價值)」是什麼意思?它代表什麼?當你回答時,你已經有了要創建的對象的名字。 – Tunaki

+0

如果你在談論C++,那麼你可以使用'std :: unordered_map >' – ArchbishopOfBanterbury

+0

一個包含ArrayList的Map作爲值將起作用。 'Map >' –

回答

1

什麼是更有意義的做法是讓一個對象來保存你的兩個值,如HashMap<KeyType, ContainerObject> map

在容器對象中,您可以使用類似於列表的東西,或者您自己定義的對象,它們只是容納您需要的任何兩個值。這樣,您可以使用HashMap並通過保存它們的對象訪問您需要的任何值。

2

是的,你可以假設這是C++,你可以有

std::unordered_map<key, std::pair<value, value>>; 

您可以進行的std ::對自己喜歡的任意類型的那樣。

+2

據我瞭解'hash_map'不是C++標準的一部分,但是'std :: unordered_map'是。 – ArchbishopOfBanterbury

+0

它不是,但hash_map是STL的一部分。 –

+0

http://en.cppreference.com/w/cpp/container/unordered_map它是'unordered_map'不是hash_map –