gpt4 book ai didi

java - ArrayList 在运行方法后不会返回修改后的值

转载 作者:行者123 更新时间:2023-12-02 05:37:43 26 4
gpt4 key购买 nike

我无法使用此方法修改 ArrayList 然后返回修改后的 ArrayList。

public static ArrayList<Integer> sortAndRemoveDuplicates(ArrayList<Integer> list) {
list = new ArrayList<Integer>(new HashSet<Integer>(list));
Collections.sort(list);
//System.out.println(list);
return list;
}

当我取消注释系统调用时,我可以看到 ArrayList 正在被修改,并且我知道我的方法可以工作,但是当我通过 main 运行该方法时,ArrayList 保持不受影响。为什么是这样?我做错了什么?

为什么这个修改后的版本不起作用?

public static ArrayList<Integer> sortAndRemoveDuplicates(ArrayList<Integer> list) {
ArrayList<Integer> newList = new ArrayList<Integer>(new HashSet<Integer>(list));
Collections.sort(newList);
System.out.println(newList);
return newList;
}

最佳答案

您正在从传递的列表创建新的ArrayList,因此您需要捕获结果

List<Integer> result = sortAndRemoveDuplicates(inputList)

关于java - ArrayList 在运行方法后不会返回修改后的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24813336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com