由于数组是引用数据类型的,要是直接在数组间赋值的话,那么对其中任一数组的改变都必会影响到另一数组。而某些操作要将数组的排序,但又希望保留原来数组中的顺序,有什么办法可以做到吗?!!!!!

解决方案 »

  1.   

    import java.util.Arrays;public class ArrayTest {    public static void main(String[] args) {
            int[] nums = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
            int[] sortNums = cloneSort(nums);
            System.out.println(Arrays.toString(nums));
            System.out.println(Arrays.toString(sortNums));
        }
        
        public static int[] cloneSort(int[] nums) {
            int[] bak = nums.clone();
            Arrays.sort(bak);
            return bak;
        }
    }
      

  2.   

    宝宝抢的好快呀
    将数组p1从srcPos的length个数据到数组p2,从p2的destPos开始接收
    System.arraycopy(Object p1, int srcPos, Object p2, int destPos,int length);