在不丢失旧值的情况下更改列表中的值

问题描述 投票:0回答:1

我已经编写了一种算法,该算法将更改传递的列表list.get(i).getValue().setValue("somvALUE");以完成其工作。

但是使用setter更改列表也会更改原始列表。但是,我仍然需要旧的列表。

是否有办法仅在传递的列表中更改值?

java list setter
1个回答
1
投票

将原始列表的副本创建到新列表中:

注:在下面的示例中,列表包含字符串对象

List<String> newList = new ArrayList<>(originalList);

然后您可以在newList上进行更改。这样,您的原始列表将保持不变,而newList将具有更改的值。

Java 8:

List<String> newList = originalList.stream()
                        .collect(Collectors.toList());
© www.soinside.com 2019 - 2024. All rights reserved.