数组
数组的定义:
- 1、Java语言中的数组是一种引用数据类型。不属于基本数据类型。数组的父类是object。
- 2、数组实际上是一个容器,可以同时容纳多个元素。(数组是一个数据的集合。)
- 3、数组当中可以存储基本数据类型”的数据,也可以存储引用数据类型”的数据。
- 4、数组因为是引用类型,所以数组对象是堆内存当中。(数组是存储在堆当中的)
第一:空间存储上,内存地址是连续的。 第二:每个元素占用的空间大小相同。 第三:知道首元素的内存地址。
数组的优点和缺点:
- 优点:检索效率高。
- 缺点:随机增删效率较低,数组无法存储大数据量。
一维数组初始化
静态初始化:
int[] n={1,2,3,4,5};
动态初始化:
长度为4的数组
int[] n=new n[4];
一维数组遍历
(通过循环打印出每个位置的元素)
int[] n=new n[4]
for(int i=0;i<n.length;i++){
System.out.println(n[i]);
}
二维数组初始化
静态初始化:
int n[][]={{1,2,},{3,4,},{5,6}};
动态初始化:
int n[][]=new n[3][3];
二维数组遍历
int n[][]={{1,2},{3,4,},{5,6}};
for(int i=0;i<n.length;i++){ //外层循环外面的一维数组
for(int j=0;j<n[i].length;j++){//内层循环二维数组中的一维数组
System.out.print(n[i][j]);
}
System.out.println();
}
数组的拷贝
数组有一个特点:长度一旦确定,不町变。所以数组长度不够的时候,需要扩容,扩容的机制是:新建一个大数组,将小数组中的数据拷贝到大数组,然后小数组对象被垃圾回收。
int[] n={1,2,3,4,5};
int[] new=Arrays.copy(n,n.length);//创建一个新的数组来接收原数组
//Arrays.copy(n,n.length)(原数组,要拷贝的长度)
数组的特殊用法
数组排序:
int[] n={1,5,3,2,1};
Arrays.sort(n);
数组填充:
int[] arr = new int[10];
Arrays.fill(arr, 10);