2011-01-24 26 views
0

我有一個關鍵字列表(非唯一)和一組與該關鍵字相關聯的值。一個鍵可能會在列表中出現多次。對於特定鍵的所有多次出現,我需要能夠添加相應的相關聯的一組值。Java - 添加與重複鍵相關的值的最有效方法?

我接收輸入的方式是某些值似乎分解爲多行。 (在回答之前,請記住我正在接收Excel表格的輸入,並且我正在使用Apache POI從Java表格中讀取數據,因此,在建議我改變數據的方式之前存儲以避免冗餘,請注意,這是我的控制,是由另一個團隊處理的東西。)

我試過使用多維數組,但這是一個很大的痛苦。

所以,我正在尋找更好的方法來實現我的列表/集使用Java集合,以便能夠添加與重複鍵相關的值的建議。我沒有尋找任何形式的代碼,而只是建議最有效的方式來實現這一點。如果你只能說出幾種方法,我可以從那裏拿走它。

我真的很感謝您閱讀本文的時間。

回答

1

如果通過高效,你的意思是易於使用和維護,那麼來自Apache Commons Collections的MultiMap就是門票。

+0

由於Apache Common Collections完全缺乏對Generics的支持,我必須像Jon Skeet一樣提供Guava。 – Powerlord 2011-01-24 22:09:54

+0

夠公平的,這只是我想到的第一件事。 – biziclop 2011-01-24 22:20:32

4

這聽起來像是你想從Guava收集Multimap集合。像Map一樣,但是您可以獲得與某個鍵相關聯的值的集合,而不僅僅是一個。

查看常見工廠方法的Multimaps類。

+0

Multimap之看起來很大一部分。我會盡力執行。但是,如果我卡住了,我可能需要更多的幫助。感謝您的及時迴應。 – 2011-01-24 22:11:17

相關問題