简介
数组是相同类型数据的有序集合,每一个数据称作一个元素,每个元素可以通过一个索引来访问
特性
1.长度确定:数组一旦被创建,它的大小就是不可以改变的
2.同一数组同一类型:同一数组其元素的类型必须是相同类型,不允许出现混合类型
3.元素不同类型:数组类型可以是任何数据类型,包括基本类型和引用类型
4.数组也是对象,数组变量属于引用类型,数组中的元素相当于对象的属性!
创建及初始化一维数组【必须指定长度】
int[] ages = new int[10];//创建数组
ages[0] = 1;//动态初始化,给数组元素赋值
Man[] mans = {new Man(1, 1), new Man(2, 2)};// 静态初始化引用类型数组
创建及初始化二维数组【必须指定二维长度】
int[ ][ ] a = new int[3][ ];//创建二维数组,Java中多维数组的声明和初始化应按从低维到高维的顺序进行
a[0] = new int[2];
a[1] = new int[4];
a[2] = new int[3];
默认初始化
int[] a = new int[2]; // [0,0]
String[ ] s = new String[2]; //[null, null ]
boolean[ ] b = new boolean[2]; //[false,false]
遍历
1.for循环
int[] a = new int[4];
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
2.for-each
String[] ss = {"aa", "bbb", "ccc", "ddd"};
for (String temp : ss) {
System.out.println(temp);
}
方法
1.数组的长度
nums.length
2.拷贝
int[] n1={1,2,3};
int[] n2=new int[8];
System.arraycopy(n1,0,n2,0,n1.length);
3.打印内容
int[] n1={1,2,3};
System.out.println(n1);//[I@7c30a502
System.out.println(Arrays.toString(n1));//[1, 2, 3]
4.排序
int[] n1={2,1,3};
Arrays.sort(n1);
System.out.println(Arrays.toString(n1));//[1, 2, 3]
5.二分法查找
int[] n1={2,1,3};
Arrays.sort(n1);
System.out.println(Arrays.binarySearch(n1,3));
6.填充
int[] n1={2,1,3};
Arrays.fill(n1,0,2,100);//将0-1替换为100
System.out.println(Arrays.toString(n1));//[2, 100, 3]