Java把一个List<Map>赋值给另一个List<Map>,让他俩不是同一个内存地址,是List<Map>不是 List<Map<String, Object>>
时间: 2024-06-02 20:03:59 浏览: 96
在Java中,如果你想将一个List<Map>赋值给另一个List<Map>,并且希望它们不是同一个内存地址,你可以使用以下方法:
1. 使用构造函数或addAll()方法创建一个新的List对象,并将原始List中的元素添加到新的List中。这样做可以确保两个List对象在内存中是独立的。
```java
List<Map> originalList = new ArrayList<>();
// 假设originalList已经有一些元素了
// 方法1:使用构造函数创建新的List对象
List<Map> newList = new ArrayList<>(originalList);
// 方法2:使用addAll()方法将原始List中的元素添加到新的List中
List<Map> newList = new ArrayList<>();
newList.addAll(originalList);
```
2. 遍历原始List,创建新的Map对象,并将原始Map中的键值对复制到新的Map中。然后将新的Map对象添加到新的List中。
```java
List<Map> originalList = new ArrayList<>();
// 假设originalList已经有一些元素了
List<Map> newList = new ArrayList<>();
for (Map originalMap : originalList) {
Map newMap = new HashMap<>();
newMap.putAll(originalMap);
newList.add(newMap);
}
```
这样做可以确保两个List<Map>对象在内存中是独立的,它们具有不同的内存地址。
阅读全文