Java 如何在不破坏原始数组的情况下对数组进行排序?
我有原始的数组Java 如何在不破坏原始数组的情况下对数组进行排序?,java,arrays,sorting,Java,Arrays,Sorting,我有原始的数组 public static void main (String[] arg) { int[] array = {1,5,6,8,4,2} for (int i = 0; i < array.length; i++) { System.out.print("List 1 = " + array[i] + ","); } swap(array); for (int i = 0; i < array.length; i++) { Sys
public static void main (String[] arg) {
int[] array = {1,5,6,8,4,2}
for (int i = 0; i < array.length; i++) {
System.out.print("List 1 = " + array[i] + ",");
}
swap(array);
for (int i = 0; i < array.length; i++) {
System.out.print("List 2 = "+array[i] + ",");
}
}
private static int swap (int[] list){
Arrays.sort(list);
}
我想要的答案是
List 1 = 1,5,6,8,4,2
List 2 = 1,5,6,8,4,2
即使在分类之后。我怎么做
int[] originalArray = {1,5,6,8,4,2};
int[] backup = Arrays.copyOf(originalArray,originalArray.length);
Arrays.sort(backup);
执行上述代码后,
backup
将被排序,originalArray
保持不变。但如果排序后显示相同,则根本不是排序……如果是,我如何将排序后的数组传递给另一个方法?@userpane你在开玩笑吗?您可以调用类似于您的方法(备份)的东西;不,不。。。我知道,但它是在非主方法中,所以我无法将它传递给另一个非主方法。您可以返回它。示例:public int[]yourMethod(){//some-other-code返回备份;}
int[] originalArray = {1,5,6,8,4,2};
int[] backup = Arrays.copyOf(originalArray,originalArray.length);
Arrays.sort(backup);