![](/img/trans.png)
[英]Java: create copy of ArrayList of HashMaps but include only certain keys
[英]Creating a copy of an ArrayList of HashMaps
我有一些代碼可以創建HashMaps的ArrayList,然后我需要該HashMaps的ArrayList的副本來執行計算,但是我希望原圖保持不變。
我從人們的SO答案中嘗試了各種方法,這是我當前的代碼:
List<Map> counts = new ArrayList<>();
counts
列表中填充了HashMaps。
我需要一個副本,但是我不希望對副本執行的計算影響原始副本。
我努力了:
List<Map> copyCounts = new ArrayList<Map>(counts);
但是每當我執行更改時,它都會更改原始內容
以下是創建深層副本的方法:
List<Map> counts = ...
List<Map> copy = new ArrayList<>();
for(Map m : counts){
copy.add(new HashMap(m));
}
那是因為您要添加到新數組列表中的所有映射仍然是引用。 您還需要復制單個地圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.