Java数组详解

声明数组

Java数组详解Java数组详解


数组for each循环

有点像python语法:

for(int element : a)
            System.out.println(element);

数组打印:

import java.util.Arrays;

public class array {
    public static void main(String[] args){
        //int[] a;
        int[] a = new int[100];   //创建可以存储100个数字的数组
        for(int i = 0; i < 100; i ++){
            a[i] = i;
        }
        for(int i = 0; i < 100; i ++){
            System.out.println(a[i]);
        }
        //同样是可以打印的
        for(int element : a)
            System.out.println(element);

        System.out.println(Arrays.toString(a));
    }
}


数组拷贝(浅拷贝、深拷贝)

import java.util.Arrays;

public class arrayCopy {
    public static void main(String[] args){
        int[] a = {17, 19, 23, 29, 31, 37};
        int[] small = a;   //浅拷贝
        small[1] = 33;
        System.out.println(Arrays.toString(a));
        int[] copy = Arrays.copyOf(a, a.length); //深拷贝
        copy[0] = 12;
        System.out.println(Arrays.toString(a));
        System.out.println(Arrays.toString(copy));
    }
}

Java数组详解
浅拷贝拷贝的引用:
Java数组详解
深拷贝拷贝的整个数组。


Arrays API

Java数组详解
Java数组详解


多维数组

Java数组详解

  1. 声明比较简单
  2. 如果需要声明固定的二维数组,使用new方法
  3. 如果一直元素,可以直接声明

二维数组也可以使用for each来遍历

Java数组详解

注意每一行是一个**double[]**类型的数据
也可以使用Arrays.deepToString来将二维数组打印出来


不规则数组

Java数组详解
可以使用下面的放来先确定行的个数,然后再确定列的个数

int[][] odds = new int[NMAX + 1][]