Java—添加与重复键关联的值的最有效方法?

Java—添加与重复键关联的值的最有效方法?,java,excel,key,Java,Excel,Key,我有一个带有一个键(非唯一)的列表,以及一组与该键关联的值。一个键可能会在列表中出现多次。对于特定键的所有多次出现,我需要能够添加相应的关联值集 我接收输入的方式是,一些值似乎被分解成多行 (在回答之前,请记住,我收到的是Excel表格形式的输入,我正在使用Apache POI从Java中读取Excel表格。因此,在建议我更改数据存储方式以避免冗余之前,请注意,这是另一个团队无法控制的。) 我试着使用多维数组,但这很痛苦 因此,我正在寻找一种更好的方法来实现我的列表/集合,该方法使用Java集合

我有一个带有一个键(非唯一)的列表,以及一组与该键关联的值。一个键可能会在列表中出现多次。对于特定键的所有多次出现,我需要能够添加相应的关联值集

我接收输入的方式是,一些值似乎被分解成多行

(在回答之前,请记住,我收到的是Excel表格形式的输入,我正在使用Apache POI从Java中读取Excel表格。因此,在建议我更改数据存储方式以避免冗余之前,请注意,这是另一个团队无法控制的。)

我试着使用多维数组,但这很痛苦

因此,我正在寻找一种更好的方法来实现我的列表/集合,该方法使用Java集合来添加与重复键相关的值。我不是在寻找任何形式的代码,而是寻找实现这一点的最有效方法的建议。如果你能说出一些方法,我可以从这里开始

我真的很感谢你抽出时间来读这篇文章。

听起来你想从中收集一些东西。类似于
映射
,但您可以获得与键关联的值的集合,而不仅仅是一个

查看常见工厂方法的类。

听起来您想要从中收集。类似于
映射
,但您可以获得与键关联的值的集合,而不仅仅是一个


查看常见工厂方法的类。

如果说高效,您的意思是易于使用和维护,那么来自Apache Commons Collections就是一张票证。

如果说高效,您的意思是易于使用和维护,那么来自Apache Commons Collections就是一张票证。

哈希表

请参阅有关链接哈希表的部分


请参阅关于链接的部分

我必须像Jon Skeet建议的那样使用番石榴,因为Apache Common Collections完全不支持泛型。很公平,这只是我想到的第一件事。与番石榴Multimap相比,基于我的Java熟练程度,Apache的Multimap对我来说更容易理解,而番石榴Multimap在仔细观察时让我有点害怕。我会看看这是否有效。感谢您的帮助。@Java_nuB@R.Bemrose是正确的,但从长远来看,您需要泛型。但Commons Collections是一个很好的开始。我必须像Jon Skeet建议的那样使用番石榴,因为Apache Common Collections完全不支持泛型。这很公平,这只是我想到的第一件事。与番石榴Multimap相比,基于我的Java熟练程度,Apache的Multimap对我来说更容易理解,而番石榴Multimap在仔细观察时让我有点害怕。我会看看这是否有效。感谢您的帮助。@Java_nuB@R.Bemrose是正确的,但从长远来看,您需要泛型。但是Commons Collections是一个很好的开始,Multimap看起来很棒。我将尝试并实施。但是,如果我陷入困境,我可能需要更多的帮助。感谢您的及时回复。Multimap看起来很棒。我将尝试并实施。但是,如果我陷入困境,我可能需要更多的帮助。感谢您的及时回复。