第三章 数组(4)

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的元素。

 

 

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值