Java List<Map<String, Object>>类型数据深拷贝出来一份,使用lambda
时间: 2024-10-22 11:16:14 浏览: 16
在Java中,如果你有一个`List<Map<String, Object>>`类型的集合,并想要对其中的数据进行深拷贝,你可以使用Stream API结合Lambda表达式来逐个创建新的Map并添加到一个新的列表中。这里是一个示例:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 原始数据
List<Map<String, Object>> originalData = new ArrayList<>();
originalData.add(new HashMap<>(){{
put("key1", "value1");
put("key2", "value2");
}});
originalData.add(new HashMap<>(){{
put("key3", "value3");
put("key4", "value4");
}});
// 深拷贝
List<Map<String, Object>> copiedData = originalData.stream()
.map(map -> new HashMap<>(map)) // 使用HashMap构造函数进行浅复制,然后通过entrySet深拷贝
.collect(Collectors.toList());
System.out.println("Copied Data:");
for (Map<String, Object> copy : copiedData) {
System.out.println(copy);
}
阅读全文