Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java对两个整数数组进行排序_Java_Arrays_Sorting - Fatal编程技术网

Java对两个整数数组进行排序

Java对两个整数数组进行排序,java,arrays,sorting,Java,Arrays,Sorting,我不明白为什么arrSort也会被排序,即使我没有声明要排序 arrSort1=arrSort并不意味着arrSort=arrSort1对吗 public static void main(String[] args) { int[] arrSort = {4024, 4209, 9254, 8996, 9017, 6679, 3412, 6546, 2682, 42}; int[] arrSort1 = arrSort; displayArray(arrSort);

我不明白为什么
arrSort
也会被排序,即使我没有声明要排序

arrSort1=arrSort
并不意味着
arrSort=arrSort1
对吗

public static void main(String[] args) {
    int[] arrSort = {4024, 4209, 9254, 8996, 9017, 6679, 3412, 6546, 2682, 42};
    int[] arrSort1 = arrSort;
    displayArray(arrSort);
    displaySorted(arrSort1);
    displayArray(arrSort);
}
public static void displayArray(int[] arrList){
    for(int i = 0; i < arrList.length; i++)
        System.out.print(arrList[i] + " ");
    System.out.println();
}
public static void displaySorted(int[] arrSort1){
    Arrays.sort(arrSort1);
    for(int i = 0; i < arrSort1.length; i++){
        System.out.print(arrSort1[i] + " ");    
    }
    System.out.println();
}

arrSort1
arrSort
都引用了相同的数组,因此可能需要使用结果

例如:

int[] arrSort1 = Arrays.copyOf(arrSort,arrSort.length);

这与C++中的指针是一样的,您分配
arrSort1=arrSort
,然后它们指向内存中的相同位置。当你用其中一个做某事时,另一个也会改变。您可以在分配之前尝试重新设置它

int[] arrSort1 = Arrays.copyOf(arrSort,arrSort.length);