• Java 之 数组 Arrays 工具类


      java.util.Arrays类即为操作数组的工具类, 包含了用来操作数组(比如排序和搜索) 的各种方法。

       

      (1)数组元素比较

     boolean equals(int[] a,int[] b):判断两个数组是否相等。

        Demo:

    int[] arr1 = new int[]{1,2,3,4};
    int[] arr2 = new int[]{1,3,2,4};
    boolean isEquals = Arrays.equals(arr1, arr2);
    System.out.println(isEquals);
    

      

      (2)输出数组信息

    System.out.println(Arrays.toString(arr1));

      (3)填充数组元素

        数组完成声明后,可以通过 Arrays 类的静态方法 fill() 来对数组中的元素进行替换。该方法通过各种重载形式可完成对任意类型的数组元素的替换。

    void fill(int[] a,int val): 将指定值填充到数组之中。

    fill(int[] array,int fromindex,int toindex,value):指定的 int 值分配给int 类型数组指定范围中的每个元素。填充范围从索引 fromIndex(包含)到索引 toindex(不包含)。如果 fromindex == toindex,则填充范围为空。

        Demo:

    1 public static void main(String[] args) {
    2        int[] array = new int[]{5,15,25,35,45,55,65,75,85,95};
    3        Arrays.fill(array,2,6,8);
    4         for (int i : array) {
    5             System.out.println(i);
    6         }
    7  }

        Tips:如果指定的索引位置大于或等于要进行填充的数组的长度,则会报出 ArrayIndexOutofBoundsException (数组越界异常)。

      (4)数组排序

        可以通过 Arrays 类的静态 sort() 方法可以实现对数组的排序。该方法提供了多种重载形式,可对任意类型的数组进行升序排序

    void sort(int[] a):对数组进行排序。

        

      (5)在数组中查找

        Arrays 类的 binarySearch() 方法,可使用二分搜索法来搜索指定数组,以获得指定对象。该方法返回要搜索的元素的索引值。

    int binarySearch(int[] a,int key):在整个数组中查找

    binarySearch(Object[] array,int fromIndex,int toIndex,Object key):在指定的范围中查找值;(如果范围中的所有元素都小于指定的键,则为 toIndex)

         Tips:在进行调用之前对数组进行排序(通过 sort() 方法,如果没有对数组排序,结果是不确定的)

      

      (6)复制数组

        Arrays 类的 copyOf() 方法与 copyOfRange() 方法可以实现对数组的复制。copyOf() 方法的复制数组至指定长度,copyOfRange() 方法则将指定数组的指定长度复制到一个新数组中。

        a、copyOf()方法

    copyOf(array,int newlength);

          newLength是 int 型常量,指复制后的新数组的长度。如果新数组的长度大于数组 array 的长度,则根据不同类型的数组用各自的默认值填充(如int类型用0填充),如果复制后的数组长度小于数组 array 的长度,则会从数组 array 的第一个元素开始截取至满足新数组长度为止。

        b、copyOfRange() 方法

    copyOfRange(array,int fromIndex,int toIndex)

          fromIndex:指定开始复制数组的索引位置,fromindex 必须在 0 至整个数组的长度之间。新数组包括索引是 fromIndex 的元素。

          toIndex:要复制范围的最后索引,可大于数组 array 的长度。新数组不包括索引是 toIndex 的元素。

        Demo:

    1 public static void main(String[] args) {
    2         int[] array = new int[]{12,15,17};
    3         int[] newarray = Arrays.copyOfRange(array,1,5);
    4 
    5         for (int i:newarray) {
    6             System.out.println(i);
    7         }
    8 }
    

      

      

     

  • 相关阅读:
    日本ネット書店一覧
    programming books
    Mathematics for the adventurous selflearner
    How to Setup SSH Passwordless Login in Linux[3 Easy Steps]
    4 ways to find which shell I'm using
    Optimized Japanese Vocabulary with Sound
    Professor Maitland Jones Jr. was dismissed from NYU
    中国汉字,日本汉字 学习Android App推荐
    使用spring的RedisTemplate操作redis队列 IT
    POM使用标签说明 IT
  • 原文地址:https://www.cnblogs.com/niujifei/p/13622544.html
Copyright © 2020-2023  润新知