3.4 数组的基本操作
Java提供了很多用于操作数组的API,本节将介绍几个常用的方法。java.util.Arrays是JDK中的数组类,很多操作方法都是由这个类提供的。
3.4.1 遍历数组
遍历数组就是获取数组中的每个元素。通常遍历数组都是使用for循环来实现。通过数组的length属性可获取数组的长度。
3.4.2 填充替换数组元素
数组中的元素定义完成后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换。该方法通过各种重载形式可完成任意类型的数组元素的替换。
(1)对所有元素进行填充替换
fill()方法的第一种重载形式可以将数组中所有的元素都替换掉,该方法语法如下:
Arrays.fill(int[] a , int value)
a:要进行元素替换的数组。
value:要存储数组中所有元素的值。
(2)对指定范围内元素进行替换
fill()方法方法将指定的int值分配给int型数组指定范围中的每个元素。填充的范围从索引fromIndex(包括)一直到索引toIndex(不包括)。如果fromIndex = = toIndex,则填充范围为空。
fill()方法的第二种重载形式可以指定填充或替换的索引范围,该方法语法如下:
Arrays.fill(int[] a, int fromIndex, int toIndex, int value)
a:要进行填充的数组。
fromIndex:要使用指定值填充的第一个元素的索引(包括)。
toIndex:要使用指定值填充的最后一个元素的索引(不包括)。
value:要存储在数组所有元素中的值。
3.4.3 对数组进行排序
通过Arrays类的静态方法 sort()可以实现对数组的排序。sort()方法提供了多种重载方式,可以对任意类型的数组进行升序排序。语法如下:
Arrays.sort(object)//object为数组的名称
JAVA中的String类型数组的排序算法是根据字典编排顺序排序的,因此数字排在字母前面,大写字母在小写字母前面。
3.4.4 复制数组
Arrarys类的copyOf()方法与copyOfRange()方法都可以实现复制数组的功能。copyOf()方法是按长度复制,copyOfRange()方法可以指定复制的索引范围。
(1)copyOf()方法
该方法提供了多种重载形式,会返回与数组类型相同的结果。该方法语法如下:
Arrays.copyOf(arr,int newlength)
arr:要进行复制的数组,数组的类型决定了返回值的类型。
newlength:int型常量,指复制后的新数组的长度。如果新数组的长度大于数组arr的长度,则用默认值填充(整型的默认值为0,char类型的默认值为null);如果复制后的数组长度小于数组arr的长度,则会从数组arr的第一个元素开始截取至满足新数组长度为止。
(2)copyOfRange()方法
该方法也提供了多种重载形式,也会返回与数组类型相同的结果。该方法语法如下:
Arrays.copyOfRange(arr,int formIndex,int toIndex)
arr:要进行复制的数组对象,数组的类型决定了返回值的类型。
formIndex:指定开始复制数组的索引位置。formIndex必须在0至整个数组的长度之间。新数组包括索引是formIndex的元素。
toIndex:要复制范围的最后索引位置。可大于数组arr的长度。新数组不包括索引是toIndex的元素。