1. 数组是相同数据的集合
1.0 首先数组是在堆上申请的一段连续的空间1
int [] arr = new int[10];

arr 保存在堆上开辟的内存的首地址
1 | int [] arr ; |
(2)声明的同时进行初始化
1 | int []arr = {1,2,3,4}; |
(3)先声明后初始化使用系统分配的默认值
1 | int [] arr = new int [5]; //包含5个元素,且各个元素默认初始化为0 |
不能同时定义数组的各个元素和大小
1.2 数组的遍历
1.下标遍历
1 | int []arr =new int [5]; |
2.for each遍历
1 | for(int value : brr){ // 将每个数据赋值给value 迭代器自定义 |
3.Arrays类中的方法: to String()方法
1 | System.out.println(Arrays.toString(arr)); //调用了TO String方法 |
1.3 一维数组的拷贝
1.调用 数组名.clone()方法
1 | int []arr ={1,2,3}; |
- Arrays.copyof(原数组,拷贝数组长度) ;
1 | int []arr ={1,2,3}; |
这种拷贝方式可以通过给原数组进行间接增长
arr = Arrays.copyOf(arr,arr.length);
Arrays.copyOf();
底层实现原理
Arrays.copyOf();实现的原型是
1 | public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) |
src 为原数组
srcPos为原数组的要复制的起始位置 在Arrays.copyOf();中默认为0
dest 为目的数组
destPos 为目的数组放置的起始位置 在Arrays.copyOf();中默认为0
在一维数组中所有的拷贝均为深拷贝,不存在浅拷贝
在此处 src 与dest 必须是相同的类型或者是可进行转换的数据类型

