数组、List、Arrays、Collections

新建数组

dataType[] arrayRefVar = new dataType[arraySize];
dataType[] arrayRefVar = {value0, value1, ..., valuek};

复制数组

深拷贝数组可以通过不仅复制数组本身,还复制数组中的元素来实现。在 Java 中,你可以使用以下几种方法之一来实现深拷贝数组:

  1. 使用循环手动复制:

    public class DeepCopyExample {
        public static void main(String[] args) {
            int[] originalArray = {1, 2, 3, 4, 5};
    
            // 创建一个新数组,长度与原数组相同
            int[] newArray = new int[originalArray.length];
    
            // 循环复制元素
            for (int i = 0; i < originalArray.length; i++) {
                newArray[i] = originalArray[i];
            }
    
            // 现在newArray是originalArray的深拷贝
        }
    }
    
    
  2. 使用 Arrays.copyOf:

    import java.util.Arrays;
    
    public class DeepCopyExample {
        public static void main(String[] args) {
            int[] originalArray = {1, 2, 3, 4, 5};
    
            // 使用 Arrays.copyOf 创建原数组的副本
            int[] newArray = Arrays.copyOf(originalArray, originalArray.length);
    
            // 现在newArray是originalArray的深拷贝
        }
    }
    
    
  3. 使用 System.arraycopy:

    public class DeepCopyExample {
        public static void main(String[] args) {
            int[] originalArray = {1, 2, 3, 4, 5};
    
            // 使用 System.arraycopy 复制数组
            int[] newArray = new int[originalArray.length];
            System.arraycopy(originalArray, 0, newArray, 0, originalArray.length);
    
            // 现在newArray是originalArray的深拷贝
        }
    }
    
    

<aside> ⭐ 第一种和第三种方法适用于 newArray 为函数参数

</aside>

使用 Arrays 返回子数组

Arrays.copyOfRange(originalArray, startIndex, endIndex);

经过测试:

使用 Arrays 二分(应保证数组升序)

使用 Arrays 排序