简介
数组是相同类型数据的有序集合,每一个数据称作一个元素,每个元素可以通过一个索引来访问
特性
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]