我在java中有两个相同的数组列表,每个列表都有一个字符串值和一个整数计数。现在我必须将这些数组列表合并为一个,如果该值存在,我将只增加计数,如果该值不存在,我将只添加值和计数。
问题是,无论如何,除了在for循环中进行迭代以及检查每个值之外,我是否能够慷慨地做到这一点?
答案 0 :(得分:3)
你不能,有太多的自定义逻辑。迭代,检查和添加 - 这是最好的方法,并且更具可读性。
从技术上讲,你可以使用guava中的Multiset
,但是计数由集合本身而不是你来处理,所以它可能需要更多的工作。
答案 1 :(得分:1)
问题是,无论如何我可以慷慨地做到这一点 在for循环中迭代并检查每个值?
简短的回答是否定的。
您最好将HashMap用作容器,至少合并操作会执行得更快。无论如何你都需要一个循环。 (因为没有addAll / putAll可以更新你的计数)。