优秀的Java数组攻略,赶紧收藏起来,让它吃灰吧好幼稚,好可笑。因为只看到了表面现象,实际上List的内部还是由数组实现的,比如ArrayList,在它的源码中可以看到如下内容:DEFAULTCAPACITY_EMPTY_ELEMENTDATA*将在添加第一个元素时扩展为DEFAULT_CAPACITY。*/transientObject[]elementData;//非私有化以简化嵌套类访问/***ArrayList的大小(其包含的元素数)。**@serial*/privateintsize;01.什么是数组根据Javadoc给出的解释,数组是一个对象,包含了一组固定数量的元素,这些元素的类型都是相同的。数组会根据索引把元素放在指定的位置,也就是说我们可以通过索引来访问这些元素。在Java中,索引从0开始。我们可以将数组理解为排列整齐的单元格,每个单元格存储一个元素。数组元素的类型可以是基本数据类型(如int、double),也可以是引用数据类型(如String),包括自定义类型的对象。了解了数组的定义之后,让我们深入了解一下它的用法。在Java中,可以通过两种方式声明数组。我们先看第一种:int[]anArray;再看第二种类型:intanOtherArray[];区别在于方括号的位置,是跟在类型后面,还是放在变量名之后。前者比后者使用频率更高。接下来,是时候看看如何初始化数组了。初始化数组的方法也有很多种。比如最常见的是:int[]anArray=newint[10];使用了new关键字,对吗?这意味着数组确实是一个对象。然后,数组的长度在方括号中指定,这是必需的。此时数组中的每个元素都会被初始化为默认值,int类型为0,Object类型为null。另外,也可以使用大括号直接初始化数组中的元素:intanOtherArray[]=newint[]{1,2,3,4,5};此时数组的元素为1、2、3、4、5,索引依次为0、1、2、3、4。02.访问数组前面说过,可以通过索引访问数组的元素,如下:anArray[0]=10;System.out.println(anArray[0]);可以通过数组的变量名访问数组,加上方括号,加上元素的索引,通过“=”运算符赋值。如果索引的值超出数组的边界,将抛出ArrayIndexOutOfBoundException。关于这方面的知识,我之前写过一篇文章。感兴趣的可以跳过去看看。为什么会出现ArrayIndexOutOfBoundsException我觉得原因挺有意思的。由于数组的索引从0开始,因此它在数组的长度-1处结束。不要使用超出这个范围的索引访问数组,不会抛出数组越界的异常。03.遍历数组当数组中的元素很多时,很难一个一个地访问数组,所以需要遍历数组。第一个,使用for循环:intanOtherArray[]=newint[]{1,2,3,4,5};for(inti=0;i
