Java Arrays 類



介紹

Java Arrays 類包含一個靜態工廠,允許將陣列視為列表。以下是關於 Arrays 的重要幾點:

  • 此類包含各種用於運算元組的方法(例如排序和搜尋)。

  • 如果指定的陣列引用為 null,則此類中的方法將丟擲 NullPointerException。

Arrays 類宣告

以下是java.util.Arrays類的宣告:

public class Arrays
   extends Object

Arrays 類方法

序號

方法及描述

1

static <T> List<T> asList(T... a)

此方法返回一個由指定陣列支援的固定大小列表。

2

static int binarySearch(byte[] a, byte key)

此方法使用二分查詢演算法在指定的位元組陣列中搜索指定的值。

3

static int binarySearch(char[] a, char key)

此方法使用二分查詢演算法在指定的字元陣列中搜索指定的值。

4

static int binarySearch(double[] a, double key)

此方法使用二分查詢演算法在指定的雙精度浮點數陣列中搜索指定的值。

5

static int binarySearch(float[] a, float key)

此方法使用二分查詢演算法在指定的單精度浮點數陣列中搜索指定的值。

6

static int binarySearch(int[] a, int key)

此方法使用二分查詢演算法在指定的整數陣列中搜索指定的值。

7

static int binarySearch(long[] a, int fromIndex, int toIndex, long key)

此方法使用二分查詢演算法在指定的 long 型陣列的指定範圍內搜尋指定的值。

8

static int binarySearch(Object[] a, Object key)

此方法使用二分查詢演算法在指定的陣列中搜索指定的物件。

9

static int binarySearch(short[] a, short key)

此方法使用二分查詢演算法在指定的短整型陣列中搜索指定的值。

10

static <T> int binarySearch(T[] a, T key, Comparator<? super T> c)

此方法使用二分查詢演算法在指定的陣列中搜索指定的物件。

11

static int compare​(boolean[] a, boolean[] b)

此方法按字典順序比較兩個布林陣列。

12

static int compare​(byte[] a, byte[] b)

此方法按字典順序比較兩個位元組陣列。

13

static int compare​(char[] a, char[] b)

此方法按字典順序比較兩個字元陣列。

14

static int compare​(double[] a, double[] b)

此方法按字典順序比較兩個雙精度浮點數陣列。

15

static int compare​(float[] a, float[] b)

此方法按字典順序比較兩個單精度浮點數陣列。

16

static int compare​(int[] a, int[] b)

此方法按字典順序比較兩個整數陣列。

17

static int compare​(long[] a, long[] b)

此方法按字典順序比較兩個長整型陣列。

18

static int compare​(short[] a, short[] b)

此方法按字典順序比較兩個短整型陣列。

19

compareUnsigned​(byte[] a, byte[] b)

此方法按字典順序比較兩個位元組陣列,數值上將元素視為無符號。

20

compareUnsigned​(int[] a, int[] b)

此方法按字典順序比較兩個整數陣列,數值上將元素視為無符號。

21

compareUnsigned​(long[] a, long[] b)

此方法按字典順序比較兩個長整型陣列,數值上將元素視為無符號。

22

compareUnsigned​(short[] a, short[] b)

此方法按字典順序比較兩個短整型陣列,數值上將元素視為無符號。

23

static boolean[] copyOf(boolean[] original, int newLength)

此方法複製指定的陣列,截斷或用 false 填充(如有必要),以便副本具有指定的長度。

24

static byte[] copyOf(byte[] original, int newLength)

此方法複製指定的陣列,截斷或用 false 填充(如有必要),以便副本具有指定的長度。

25

static char[] copyOf(char[] original, int newLength)

此方法複製指定的陣列,截斷或用 false 填充(如有必要),以便副本具有指定的長度。

26

static double[] copyOf(double[] original, int newLength)

此方法複製指定的陣列,截斷或用 false 填充(如有必要),以便副本具有指定的長度。

27

static float[] copyOf(float[] original, int newLength)

此方法複製指定的陣列,截斷或用零填充(如有必要),以便副本具有指定的長度。

28

static int[] copyOf(int[] original, int newLength)

此方法複製指定的陣列,截斷或用零填充(如有必要),以便副本具有指定的長度。

29

static long[] copyOf(long[] original, int newLength)

此方法複製指定的陣列,截斷或用零填充(如有必要),以便副本具有指定的長度。

30

static short[] copyOf(short[] original, int newLength)

此方法複製指定的陣列,截斷或用零填充(如有必要),以便副本具有指定的長度。

31

static <T> T[] copyOf(T[] original, int newLength)

此方法複製指定的陣列,截斷或用 null 填充(如有必要),以便副本具有指定的長度。

32

static <T, U> T[] copyOf(U[] original, int newLength,Class<? extends T[]> newType)

此方法複製指定的陣列,截斷或用 null 填充(如有必要),以便副本具有指定的長度。

33

static boolean[] copyOfRange(boolean[] original, int from, int to)

此方法將指定陣列的指定範圍複製到一個新陣列中。

34

static byte[] copyOfRange(byte[] original, int from, int to)

此方法將指定陣列的指定範圍複製到一個新陣列中。

35

static char[] copyOfRange(char[] original, int from, int to)

此方法將指定陣列的指定範圍複製到一個新陣列中。

36

static double[] copyOfRange(double[] original, int from, int to)

此方法將指定陣列的指定範圍複製到一個新陣列中。

37

static int[] copyOfRange(int[] original, int from, int to)

此方法將指定陣列的指定範圍複製到一個新陣列中。

38

static long[] copyOfRange(long[] original, int from, int to)

此方法將指定陣列的指定範圍複製到一個新陣列中。

39

static short[] copyOfRange(short[] original, int from, int to)

此方法將指定陣列的指定範圍複製到一個新陣列中。

40

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

此方法將指定陣列的指定範圍複製到一個新陣列中。

41

static <T,​U> T[] copyOfRange​(U[] original, int from, int to, Class<? extends T[]> newType)

此方法將指定陣列的指定範圍複製到一個新陣列中。

42

static boolean deepEquals(Object[] a1, Object[] a2)

此方法如果兩個指定的陣列彼此深度相等,則返回 true。

43

static int deepHashCode(Object[] a)

此方法返回基於指定陣列的“深度內容”的雜湊碼。

44

static String deepToString(Object[] a)

此方法返回指定陣列的“深度內容”的字串表示形式。

45

static boolean equals(boolean[] a, boolean[] a2)

此方法如果兩個指定的布林陣列彼此相等,則返回 true。

46

static boolean equals(byte[] a, byte[] a2)

此方法如果兩個指定的位元組陣列彼此相等,則返回 true。

47

static boolean equals(char[] a, char[] a2)

此方法如果兩個指定的字元陣列彼此相等,則返回 true。

48

static boolean equals(double[] a, double[] a2)

此方法如果兩個指定的雙精度浮點數陣列彼此相等,則返回 true。

49

static boolean equals(float[] a, float[] a2)

此方法如果兩個指定的單精度浮點數陣列彼此相等,則返回 true。

50

static boolean equals(int[] a, int[] a2)

此方法如果兩個指定的整數陣列彼此相等,則返回 true。

51

static boolean equals(long[] a, long[] a2)

此方法如果兩個指定的 long 型陣列彼此相等,則返回 true。

52

static boolean equals(short[] a, short[] a2)

此方法如果兩個指定的短整型陣列彼此相等,則返回 true。

53

static boolean equals(Object[] a, Object[] a2)

此方法如果兩個指定的 Object 陣列彼此相等,則返回 true。

54

static boolean equals(T[] a, T[] a2, Comparator<? super T> cmp)

此方法如果兩個指定的 Object 陣列彼此相等,則返回 true。

55

static void fill(boolean[] a, boolean val)

此方法將指定的布林值賦給指定的布林陣列的每個元素。

56

static void fill(byte[] a, byte val)

此方法將指定的位元組值賦給指定的位元組陣列的每個元素。

57

static void fill(char[] a, char val)

此方法將指定的字元值賦給指定的字元陣列的每個元素。

58

static void fill(double[] a, double val)

此方法將指定的雙精度浮點值賦給指定的雙精度浮點數陣列的每個元素。

59

static void fill(float[] a, float val)

此方法將指定的單精度浮點值賦給指定的單精度浮點數陣列的每個元素。

60

static void fill(int[] a, int val)

此方法將指定的整數值賦給指定的整數陣列的每個元素。

61

static void fill(long[] a, long val)

此方法將指定的 long 型值賦給指定的 long 型陣列的每個元素。

62

static void fill(Object[] a, Object val)

此方法將指定的 Object 引用賦給指定的 Object 陣列的每個元素。

63

static void fill(short[] a, short val)

此方法將指定的短整數值賦給指定短整型陣列的每個元素。

64

static int hashCode(boolean[] a)

此方法根據指定陣列的內容返回一個雜湊碼。

65

static int mismatch​(boolean[] a, boolean[] b)

此方法查詢並返回兩個布林型陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

66

static int mismatch​(byte[] a, byte[] b)

此方法查詢並返回兩個位元組陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

67

static int mismatch​(char[] a, char[] b)

此方法查詢並返回兩個字元陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

68

static int mismatch​(double[] a, double[] b)

此方法查詢並返回兩個雙精度浮點型陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

69

static int mismatch​(int[] a, int[] b)

此方法查詢並返回兩個整型陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

70

static int mismatch​(long[] a, long[] b)

此方法查詢並返回兩個長整型陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

71

static int mismatch​(short[] a, short[] b)

此方法查詢並返回兩個短整型陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

72

static int mismatch​(Object[] a, Object[] b)

此方法查詢並返回兩個物件陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

73

static int mismatch​(T[] a, T[] b, Comparator<? super T> cmp)

此方法查詢並返回兩個物件陣列之間第一個不匹配的索引,如果未找到不匹配項,則返回 -1。

74

static void parallelPrefix​(double[] array, DoubleBinaryOperator op)

此方法使用提供的函式,並行地累積給定陣列的每個元素。

75

static void parallelPrefix​(int[] array, IntBinaryOperator op)

此方法使用提供的函式,並行地累積給定陣列的每個元素。

76

static void parallelPrefix​(long[] array, LongBinaryOperator op)

此方法使用提供的函式,並行地累積給定陣列的每個元素。

77

static <T> void parallelPrefix​(T[] array, BinaryOperator<T> op)

此方法使用提供的函式,並行地累積給定陣列的每個元素。

78

static void parallelSetAll​(double[] array, IntToDoubleFunction generator)

此方法使用提供的生成器函式計算每個元素,並行地設定指定陣列的所有元素。

79

static void parallelSetAll​(int[] array, IntUnaryOperator generator)

此方法使用提供的生成器函式計算每個元素,並行地設定指定陣列的所有元素。

80

static void parallelSetAll​(long[] array, IntToLongFunction generator)

此方法使用提供的生成器函式計算每個元素,並行地設定指定陣列的所有元素。

81

static <T> void parallelSetAll​(T[] array, IntFunction<? extends T> generator)

此方法使用提供的生成器函式計算每個元素,並行地設定指定陣列的所有元素。

82

static void parallelSort​(byte[] a)

此方法將指定的位元組陣列排序為升序。

83

static void parallelSort​(char[] a)

此方法將指定的字元陣列排序為升序。

84

static void parallelSort​(double[] a)

此方法將指定的雙精度浮點型陣列排序為升序。

85

static void parallelSort​(float[] a)

此方法將指定的單精度浮點型陣列排序為升序。

86

static void parallelSort​(int[] a)

此方法將指定的整型陣列排序為升序。

87

static void parallelSort​(long[] a)

此方法將指定的長整型陣列排序為升序。

88

static void parallelSort​(short[] a)

此方法將指定的短整型陣列排序為升序。

89

static <T extends Comparable<? super T>> void parallelSort​(T[] a)

此方法根據其元素的自然順序將指定的物件陣列排序為升序。

90

static <T>> void parallelSort​(T[] a, Comparator<? super T> cmp)

此方法根據 Comparator 例項提供的順序將指定的物件陣列排序為升序。

91

static void setAll​(double[] array, IntToDoubleFunction generator)

此方法使用提供的生成器函式計算每個元素,設定指定陣列的所有元素。

92

static void setAll​(int[] array, IntUnaryOperator generator)

此方法使用提供的生成器函式計算每個元素,設定指定陣列的所有元素。

93

static void setAll​(long[] array, IntToLongFunction generator)

此方法使用提供的生成器函式計算每個元素,設定指定陣列的所有元素。

94

static <T> void setAll​(T[] array, IntFunction<? extends T> generator)

此方法使用提供的生成器函式計算每個元素,設定指定陣列的所有元素。

95

static Spliterator.OfDouble spliterator​(double[] array)

此方法返回一個涵蓋指定陣列所有元素的 Spliterator.OfDouble。

96

static Spliterator.OfInt spliterator​(int[] array)

此方法返回一個涵蓋指定陣列所有元素的 Spliterator.OfInt。

97

static Spliterator.OfLong spliterator​(long[] array)

此方法返回一個涵蓋指定陣列所有元素的 Spliterator.OfLong。

98

static <T> Spliterator<T> spliterator​(T[] array)

此方法返回一個涵蓋指定陣列所有元素的 Spliterator。

99

static DoubleStream stream​(double[] array)

此方法返回一個以指定陣列作為其源的順序 DoubleStream。

100

static IntStream stream​(int[] array)

此方法返回一個以指定陣列作為其源的順序 IntStream。

101

static LongStream stream​(long[] array)

此方法返回一個以指定陣列作為其源的順序 LongStream。

102

static <T> Stream<T> stream​(T[] array)

此方法返回一個以指定陣列作為其源的順序 Stream。

103

static void sort(byte[] a)

此方法將指定的位元組陣列排序為升序。

104

static void sort(char[] a)

此方法將指定的字元陣列排序為升序。

105

static void sort(double[] a)

此方法將指定的雙精度浮點型陣列排序為升序。

106

static void sort(float[] a)

此方法將指定的單精度浮點型陣列排序為升序。

107

static void sort(int[] a)

此方法將指定的整型陣列排序為升序。

108

static void sort(long[] a)

此方法將指定的長整型陣列排序為升序。

109

static void sort(Object[] a)

此方法根據其元素的自然順序將指定的物件陣列排序為升序。

110

static void sort(short[] a)

此方法將指定的短整型陣列排序為升序。

111

static String toString(boolean[] a)

此方法返回指定布林型陣列內容的字串表示形式。

繼承的方法

此類繼承自以下類的方法:

  • java.util.Object

Arrays 類示例

Java 示例演示了Arrays 類binarySearch() 方法。

// Importing the Arrays class
import java.util.Arrays;

// Public Main Class
public class Main {
  public static void main(String[] args) {
    // Declaring an array
    int arr[] = {8, 5, 3, 10, 2, 1, 15, 20};

    // Sorting the array
    Arrays.sort(arr);

    // Taking an element to search
    int ele = 15;

    // Using binarySearch() method to search "ele"
    System.out.println(
      ele + " presents at the index = " +
      Arrays.binarySearch(arr, ele));
  }
}

讓我們編譯並執行上述程式,這將產生以下結果:

15 presents at the index = 6
廣告