第九天
5.数组
属于object类,用来存放一组数据的数据结构,数组是最基本的一种数据结构但不是基本数据类型,数组是相同数据类型组成的集合,数组中的元素按线性顺序排序
1 数组的创建
数组创建后若未指定初始值,则会依据数组类型的不同来设置默认值
int[] a = new int[6];
新建int[]数组,长度6,默认值都是0,数组的起始地址值保存在变量a。
int[] a = {6,2,6,8};
Int[] a= new int[]{1,2,3,4,5};
a = new int[]{7,3,8,1,7,9,3,1};
为存在的数组变量赋值直接初始化数据,要添加数据类型;
2 数组的长度属性 a.length
数组一旦创立,长度不可变
最大下标 a.length-1
允许0长度的数组
3 二维数组
存放数组的数组
int[][] a = new int[3][2];
外围长度为3,内部3个数组长度为2,一共有4个数组,内部数组默认值0,外围数组保存的是内部数组的地址。
int[][] a = new int[3][];
只建一个外围数组长度3,3个位置都是null,之后可以建新数组放入内部。
4 Arrays 数组工具类
Arrays.toString(数组) 把数组数据连接成字符串。
Arrays.sort(数组) 数组排序 基本类型:优化的快速排序;引用类型:优化的合并排序。
Arrays.binarySearch(数组,目标值) 二分法查找,在有序数组中查找目标值下标,找不到返回 -(插入点+1)。
Arrays.copyof(数组,长度) 复制数组成一个指定长度的新数组。
5 数组 复制
Arrays.copyof(数组,长度) 复制数组成一个指定长度的新数组
System.arraycopy(原数组,原数组起始位置,目标数组,目标数组起始位置,复制的数量) ——不会创建新的数组,目标数组要事先存在。