一、一维数组声明、初始化
下面以int型数组为例
1、声明:int[] array
2、初始化:3种方式
(1)int[] array = {1, 2, 3}; // 无new的静态初始化
(2)int[] array = new int[3];
array[0] = 1;
array[1] = 2;
array[2] = 3;
(3)int[] array = new int[]{1, 2, 3}; // 有new的静态初始化
注:int[] array = new int[];会报编译错误
二、二维数组声明、初始化
下面以int型数组为例
1、声明:int[][] array
2、初始化:3种方式,与一维类似
(1)int[][] array = {{1, 2, 3}, {4}}; // 无new的静态初始化
注:此时array[0].length为3,array[1].length为1,说明第二维的长度不是固定的。
(2)int[][] array = new int[2][3]; // 然后再赋值,与一维类似
注:这里第二维的长度可省略;给第二维赋值的时候不能使用无new的静态初始化,譬如array[1] = {4};
(3)int[][] array = new int[][]{{1, 2, 3}}; // 有new的静态初始化
注:当然上例这样array.length就限死为1了,比较建议用第二种初始化方法省略二维数组长度的形式。
三、数组默认值
java的八种基本类型:byte、short、int、long、float、double、boolean、char,默认值分别为
byte、short、int、long:0
float、double:0.0
char:'\0'
boolean:false
别的对象类型默认值均为null
四、判断数组中是否包含某个元素
1、ArrayUtils.contains(array, objectToFind);
使用org.apache.commons.lang3.ArrayUtils中的boolean contains(final Object[] array, final Object objectToFind)方法,观察源码可知核心是遍历数组依次调用equals方法(objectToFind非null的情况下)直到找到相等为止。
2、Arrays.binarySearch(a, key);
使用java.util.Arrays。对于有序数组可以采取这个二分查询的方法,时间复杂度优于第一个方法。
五、数组添加元素
ArrayUtils.add(array, element);
使用org.apache.commons.lang3.ArrayUtils中的T[] add(final T[] array, final T element)方法,当然真的遇到这种情况倒还不如用List得了。
参考文章列表:
https://blog.csdn.net/xuanzhiruoshui/article/details/78714499