例如,給定的數據我將如何使用HashTable或HashMap進行計數?
Name: 1234, Qty: 100
Name: 1234, Qty: 100
Name: 1234, Qty: 100
Name: 1234, Qty: 200
Name: 1234, Qty: 200
的期望是:
Name: 1234, Qty: 700
例如,給定的數據我將如何使用HashTable或HashMap進行計數?
Name: 1234, Qty: 100
Name: 1234, Qty: 100
Name: 1234, Qty: 100
Name: 1234, Qty: 200
Name: 1234, Qty: 200
的期望是:
Name: 1234, Qty: 700
一個HashMap中,一鍵只能與一個值相關聯,所以你需要使用一個HashMap<Integer, List<Integer>>
或MultiMap來實現這一點。
其基本思想是,您可以在哈希表中反覆查找特定於名稱的累計和,並向其中添加下一個值。在僞代碼:
for name, qty in input
hashtable[name] += qty
不同的語言,您可能需要顯式地檢查是否有一個爲「名」現有的散列表條目,並創建一個與最初的「數量」值。
這是迄今爲止最好的方法。 – hfontanez
首先是否可以爲同一個鍵多個值? –
@AndrewT。這不可能。地圖將更新爲最新值。 – hfontanez
@TonyD我承認錯誤併爲此道歉。 –