1.定义
数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标可以访问数组中的每一个值。
例如:
如果a是一个整型数组,a[i]就是数组中下标为i的整数
2.数组的声明
1.int[] a;
2.int[] a =new int[100];
3.int[] a =new int[n]; 一个长度为n的数组
注意:如果创建了一个100个元素的数组,并且试图访问元素a[100]或者在0-99之外的都会报错 Array Index out of bounds
超出范围的异常而终止。
如果经常需要改变数组的长度,可以使用ArrayList,这个以后在介绍。
3.数组初始化以及匿名数组
int[] a ={1,2,3};
匿名数组
new int[] {1,2,3}
4.数组拷贝
数组拷贝分浅复制,和深复制
浅复制:浅复制不需要改变数组的引用,是同一引用
如图
深复制:深复制需要改变数组的引用,在堆里重新开辟了一个空间
如图
int [] arr1= new int[] {1,2,3,4,5,6,7};
int [] arr2 =arr1;
arr1[4] =400;
System.out.println(arr1);
//Arrays.copeof 深度复制
//arr.clone() 深度复制
for (int i = 0; i < args.length; i++) {
System.out.println(args);
}
5.数组常用的函数
序号 | 方法和说明 |
---|---|
1 | public static int binarySearch(Object[] a, Object key) 用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。 |
2 | public static boolean equals(long[] a, long[] a2) 如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
3 | public static void fill(int[] a, int val) 将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
4 | public static void sort(Object[] a) 对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
5 | public static String toString(object[] a) 返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔 |