如何解决在Java中存储排序数组,而不了解Java .clone
我正在尝试将排序后的数组与原始数组分开存储。我需要能够访问两个数组而无论如何都不能更改原始数组。我试图理解如何克隆,但似乎无法理解我在做什么错。我下面有我的代码,我正在从上面将一个数组传递给此方法,并希望对其进行排序和存储。我在这里甚至接近正确吗?
public static double sortArray(int[] array) {
//Sort the array
Object tempObj = array.clone();
Arrays.sort(tempObj);
sortedArray[] = tempObj;
解决方法
您可以使用Java 8流对新的排序数组执行此操作:
int[] newArr = Arrays.stream(array).sorted().toArray(int[]::new);
然后将您的方法返回类型更改为int []:
public static int[] sortArray(int[] array)
{
int[] newArr = Arrays.stream(array).sorted().toArray(int[]::new);
return newArr;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。