2012-04-12 70 views
1

我在java中有两个相同的数组列表,每个列表都有一个字符串值和一个整数。现在我必须将这些数组列表合并为一个数组,如果该数值存在,我将只增加计数,如果该数值不存在,那么我只需将数值和计数相加即可。在java中合并两个ArrayList

问题是,无论如何,我可以优雅地做到这一点,而不是在for循环中迭代,如果检查每个值?

+1

你可以给一些示例输入/输出对吗?你的问题有点含糊,这可能会清除一点 – mfrankli 2012-04-12 05:44:56

+0

使用Collection.addAll方法。 – adatapost 2012-04-12 05:45:47

+0

地图可以用于这样的任务。 – 2012-04-12 05:45:51

回答

3

你不能,有太多的自定义逻辑。迭代,检查和添加 - 这是最好的方法,并且会更具可读性。

从技术上讲,你可以使用番石榴的Multiset,但是那里的数量由集合本身来处理,而不是你,所以它可能需要更多的工作。

1

问题是,有无论如何,我可以做到这一点,而不是 迭代在for循环,如果检查每个值?

简短的回答是否定的。

你会更好地使用HashMap作为容器,至少合并操作会更快。无论如何你都需要一个循环。 (因为没有addAll/putAll可以更新你的计数)。