Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 java 中有两个相同的数组列表,每个列表都有一个字符串值和一个整数计数。现在我必须将这些数组列表合并为一个,如果值存在,我将增加计数,如果值不存在,我将添加值和计数。
问题是,除了在 for 循环中迭代并检查每个值之外,我是否可以优雅地做到这一点?
你不能,有太多的自定义逻辑。迭代、检查和添加——这是最好的方法,并且更具可读性。
从技术上讲,您可以使用Multisetfrom guava ,但是计数由集合本身而不是您自己处理,因此可能需要更多工作。
Multiset
简短的回答是否定的。
您最好使用 HashMap 作为容器,至少合并操作会执行得更快。无论如何,您都需要一个循环。(因为没有 addAll / putAll 可以更新您的计数)。