数组的学习
开篇明义:
1、对于数组的基本看法是,你可以创建并组装它们,通过使用整形索引值访问它们的元素,并且知道它们的尺寸不能改变,这就是你所要了解的全部。
2、数组为什么特殊。数组是一种效率最高的存储和随机访问对象的引用序列的方式。代价就是他的大小被固定。并且其生命周期不能改变。而ArrayList可以通过创建新实例,然后把旧实例中的内容复制到新实例中来达到扩建的目的。但是这样就需要开销,所以效率低。总而言之,数组效率高,长度固定。List效率低,长度可变。一般用List,有特殊需求用数组。
3.数组的常用方法:
/*Arrays类用于数组的static实用方法,其中有6个基本方法: * 1.equals 用于比较两个数组是否相等,deepEquals()用于多维数组 * 2.fill() 填充数组,将数组内容全部填充为同一个参数 * 3.sort() 用于对数组排序 * 4.binarySearch() 用于在已经排序的数组中查找元素 * 5.toString() 产生数组的String表示 * 6.hashCode() 产生数组的散列码 * 另外asList()方法接受任意的序列或数组作为其参数,并将其转变为List容器。 */
4.System.arraycopy(Object param1,int param2,Object param3,int param4,int param5);拷贝数组。param1表示来源数组。param2表示从源数组中的什么位置开始复制的偏移量,param3表示复制的目标数组,param4表示从目标数组的什么位置开始复制的偏移量。param5是需要复制的元素个数。