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
广告