可以使用Java中的Stream API来解决这个问题。下面是一个示例代码:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GroupAndMergeArrayList {
public static void main(String[] args) {
List
运行结果为:
{A=4, B=7, C=10}
这个示例代码中,我们首先创建了一个ArrayList,其中包含了3个Map对象。每个Map对象代表了一个键值对的集合。
然后,我们使用Stream API对ArrayList进行操作。首先使用flatMap
方法将每个Map对象转换为多个键值对的流。然后使用collect
方法将这些键值对收集到一个新的Map中。
在collect
方法中,我们使用Collectors.toMap
方法来指定合并的逻辑。Map.Entry::getKey
表示以键作为合并的key,Map.Entry::getValue
表示以值作为合并的value,Integer::sum
表示如果有重复的key,将对应的value相加。
最后,我们打印出合并后的结果。