List<Map> source = [[value: 1]] List<Map> mapList = [] println "Using putAll" for(int i = 0;i<5;i++){ def target = [:] target.putAll(source.find{it.value == 1}) target.put('index', i) mapList.add(target) } mapList.each{ println it.hashCode() }