數組常用方法總結
- 一.獲取數組長度
- 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));}
}
執行結果如下:
使用這個方法后續打印數組就更方便一些.
三. 數組拷貝
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));}
執行結果如下:
示意圖:
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));}
}
執行結果如下:
示意圖:
使用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));}
執行結果如下:
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--;}}
執行結果如下:
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);
}
執行結果如下: