两个list<map<String,Object>> 复制
时间: 2024-12-21 12:29:26 浏览: 3
java代码-使用java解决bean&map工具类的源代码
将一个`List<Map<String, Object>>`复制到另一个列表中,可以有几种方法:
1. **使用流(Stream)**:
```java
List<Map<String, Object>> source = ...; // 原始列表
List<Map<String, Object>> target = source.stream()
.collect(Collectors.toList());
```
这会创建一个新的列表,其内容与源列表相同。
2. **迭代法**:
```java
List<Map<String, Object>> target = new ArrayList<>();
for (Map<String, Object> map : source) {
target.add(new HashMap<>(map)); // 如果需要深拷贝,可以使用HashMap的构造函数
}
```
这里通过遍历源列表并将每个map元素浅拷贝到新列表中。
3. **使用CopyOnWriteArrayList** (如果源列表是并发环境):
```java
List<Map<String, Object>> target = new CopyOnWriteArrayList<>(source);
```
CopyOnWriteArrayList在多线程环境下提供了安全的读操作。
阅读全文