java 数组(array)

129 阅读1分钟

数组(array)

初始化: ​ 1、数据类型[] 数组名 (推荐使用) ​ 2、数据类型 数组名[]

动态初始化: ​ 数组类型[] 数组名 = new 数据类型[数组长度] ​ int[] arr = new int[length]

静态初始化: ​ 数组类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,...} ​ lint[] arr = new int[]{1,2,3}

简化版: 数据类型[] 数组名 = {元素1,元素2,元素3,...} int[] arr = {1,2,3};

多维数组 数据类型[][] 数组名 = {{元素1...},{元素1...},{元素1...}}

二维数组 ​
二维数组动态初始化: ​ 数据类型[][] 数组名 = new 数据类型[m][n]

二维数组静态初始化: ​ 数据类型[][] 数组名 = new 数据类型[][]{{元素...},{元素...},{元素...},...}

查找元素快: 通过索引,可以快速访问指定位置的元素。

增删元素慢:

  • 指定索引位置增加元素:需要创建一个新数组,将指定新元素存储在指定索引位置,再把原数组元素根据索引,复制到新数组对应索引的位置
  • 指定索引位置删除元素: 需要创建一个新数组,把原数组元素根据索引,复制到新数组对应索引的位置,原数组中指定索引位置元素不复制到新数组中。

数组颠倒算法

for(int start=0,end=arr.length-1; start<=end; start++,end--){
    int temp = arr[start];
    arr[start] = arr[end];
    arr[end] = temp;
}

索引查找算法

public static int getIndex(int[] arr,int value){
    for(int x=0;x<arr.length;x++){
        if(arr[x] == value){
            return x;
        }
    }
    return -1;
}

多维数组

int[][] a = {{1,2,3},{4,5,6}};
for (int i = 0; i < a.length; i++) {
    for (int j = 0; j <a[i].length ; j++) {
        System.out.println(a[i][j]);
    }
}