数组常用方法总结

数组常用方法总结

  • 一.获取数组长度
    • 1.1 使用length
  • 二.数组转字符串
    • 2.1 Arrays是什么
    • 2.2 使用toString()
  • 三. 数组拷贝
    • 3.1 使用 copyOf()
    • 3.2 copyOfRange()
  • 四.数组排序
    • 4.1使用 sort()
  • 五. 数组逆序
  • 六. 判断两个数组是否相等
    • 6.1 使用equals()

一.获取数组长度

1.1 使用length

 public static void main(String[] args) {
        //求数组的长度
        int[] arr=new int[]{1,2,3,4,5,6};
        int length= arr.length;
        System.out.println(length);
    }

注意:
获取数组的长度,使用数组名.length
获取字符串长度,使用字符串名.length()

二.数组转字符串

2.1 Arrays是什么

Arrays是操作数组相关的工具类。
Java 中提供了 java.util.Arrays 包, 其中包含了一些操作数组的常用方法.

2.2 使用toString()

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] arr=new int[]{1,2,3,4,5,6};
        //数组转字符串
        System.out.println(Arrays.toString(arr));
    }
}

执行结果如下:
数组常用方法总结_第1张图片

使用这个方法后续打印数组就更方便一些.

三. 数组拷贝

public static void main(String[] args) {
     int[] arr = {1,2,3,4,5};
     int[] newArr = arr;
     newArr[0] = 10;
     System.out.println("arr: " + Arrays.toString(arr));
  }

执行结果如下:

数组常用方法总结_第2张图片
示意图:
数组常用方法总结_第3张图片

newArr和arr引用的是同一个数组, 因此newArr修改空间中内容之后,arr也可以看到修改的结果。

3.1 使用 copyOf()

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};
        int[] newArr = Arrays.copyOf(arr,arr.length);
        newArr[0] = 10;
        System.out.println("arr: " + Arrays.toString(arr));
        System.out.println("newArr: "+Arrays.toString(newArr));
    }
}

执行结果如下:
数组常用方法总结_第4张图片
示意图:
数组常用方法总结_第5张图片

使用Arrays中copyOf方法完成数组的拷贝:
copyOf方法在进行数组拷贝时,创建了一个新的数组,arr和newArr引用的不是同一个数组。 因此newArr修改其引用数组中内容时,对arr没有任何影响。

3.2 copyOfRange()

public static <T> T[] copyOfRange(T[] original, int from, int to)

这个方法可以用来截取数组的一部分,并将其复制到一个新的数组中。

四.数组排序

4.1使用 sort()

public static void main(String[] args) {
      int[] arr={1,5,3,4,6,2};
      Arrays.sort(arr);
      System.out.println(Arrays.toString(arr));
  }

执行结果如下:
数组常用方法总结_第6张图片

sort()可以将数组正向排序

五. 数组逆序

思路:

  • 设定两个下标,分别指向第一个元素和最后一个元素,交换两个下标位置上的元素。
  • 让前一个下标自增,让后一个下标自减,循环继续即可。
  public static void main(String[] args) {
      int[] arr={1,2,3,4,5};
      reverse(arr);
      System.out.println(Arrays.toString(arr));
  }
  public static void reverse(int[] arr){
     int left=0;
     int right=arr.length-1;
     while (left<right){
         int tmp=arr[left];
         arr[left]=arr[right];
         arr[right]=tmp;
         left++;
         right--;
     }
  }

执行结果如下:
数组常用方法总结_第7张图片

Arrays类中没有提供直接逆序的方法

六. 判断两个数组是否相等

6.1 使用equals()

public static void main(String[] args) {
      int[] arr1= {1,2,3,4,5};
      int[] arr2= {1,2,3,4,5};
      boolean flg = Arrays.equals(arr1,arr2);
      System.out.println(flg);
}

执行结果如下:
数组常用方法总结_第8张图片

你可能感兴趣的:(java,排序算法,开发语言)