Java Arrays compare() 方法



描述

Java Arrays compare(byte[] a, byte[] b) 方法按字典顺序比较两个字节数组。如果数组为 null,则认为数组相等,并且 null 数组按字典顺序小于非 null 数组。

声明

以下是java.util.Arrays.compare(byte[] a, byte[] b) 方法的声明

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

参数

  • a − 这是要比较的第一个数组。

  • b − 这是要比较的第二个数组。

返回值

如果第一个和第二个数组相等并且包含相同顺序的相同元素,则此方法返回 0;如果第一个数组按字典顺序小于第二个数组,则返回小于 0 的值;如果第一个数组按字典顺序大于第二个数组,则返回大于 0 的值。

异常

Java Arrays compare(byte[] a, int aFromIndex, int aToIndex, byte[] b, int bFromIndex, int bToIndex) 方法

描述

Java Arrays compare(byte[] a, int aFromIndex, int aToIndex, byte[] b, int bFromIndex, int bToIndex) 方法按字典顺序比较给定范围内的两个字节数组。如果任何数组为 null,则抛出 NullPointerException。

声明

以下是java.util.Arrays.compare(byte[] a, int aFromIndex, int aToIndex, byte[] b, int bFromIndex, int bToIndex) 方法的声明

public static int compare​(byte[] a, int aFromIndex, int aToIndex, byte[] b, int bFromIndex, int bToIndex)

参数

  • a − 这是要比较的第一个数组。

  • aFromIndex − 这是要比较的第一个数组的第一个元素(包含)的索引。

  • aToIndex − 这是要比较的第一个数组的最后一个元素(不包含)的索引。

  • b − 这是要比较的第二个数组。

  • bFromIndex − 这是要比较的第二个数组的第一个元素(包含)的索引。

  • bToIndex − 这是要比较的第二个数组的最后一个元素(不包含)的索引。

返回值

在指定的范围内,如果第一个和第二个数组相等并且包含相同顺序的相同元素,则此方法返回 0;如果在指定的范围内,第一个数组按字典顺序小于第二个数组,则返回小于 0 的值;如果在指定的范围内,第一个数组按字典顺序大于第二个数组,则返回大于 0 的值。

异常

  • IllegalArgumentException − 如果 aFromIndex > aToIndex 或 bFromIndex > bToIndex

  • ArrayIndexOutOfBoundsException − 如果 aFromIndex < 0 或 aToIndex > a.length 或 bFromIndex < 0 或 bToIndex > b.length

  • NullPointerException − 如果任何数组为 null

比较两个具有相同字节值的数组示例

以下示例演示了 Java Arrays compare(byte[], byte[]) 方法的使用。首先,我们创建了两个具有相同字节的数组,并使用 compare() 方法对它们进行比较。根据结果,打印比较结果。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      // initialize first byte array
      byte array1[] = { 5, 10, 3, 14, 23 };

      // initialize second byte array
      byte array2[] = { 5, 10, 3, 14, 23 };
            
      int result = Arrays.compare(array1, array2);
      
      if(result > 0) {
    	  System.out.println("First array is greater than second array.");
      } else if (result == 0) {
    	  System.out.println("Arrays are same.");
      } else {
    	  System.out.println("First array is less than second array.");
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Arrays are same.

比较两个字节值子数组的示例

以下示例演示了 Java Arrays compare​(byte[] a, int aFromIndex, int aToIndex, byte[] b, int bFromIndex, int bToIndex) 方法的使用。首先,我们创建了两个具有不同字节的数组,并使用 compare() 方法对它们进行比较。根据结果,打印比较结果。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      // initialize first byte array
      byte array1[] = { 5, 10, 3, 14, 23 };

      // initialize second byte array
      byte array2[] = { 5, 15, 3, 14, 23 };
      
      int result = Arrays.compare(array1, 0, 2, array2, 0, 2);
      
      if(result > 0) {
    	  System.out.println("First array is greater than second array.");
      } else if (result == 0) {
    	  System.out.println("Arrays are same.");
      } else {
    	  System.out.println("First array is less than second array.");
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

First array is less than second array.

比较两个具有不同字节值的数组示例

以下示例演示了 Java Arrays compare(byte[], byte[]) 方法的使用。首先,我们创建了两个具有不同字节的数组,并使用 compare() 方法对它们进行比较。根据结果,打印比较结果。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      // initialize first byte array
      byte array1[] = { 5, 15, 3, 14, 23 };

      // initialize second byte array
      byte array2[] = { 5, 10, 3, 14, 23 };
      
      int result = Arrays.compare(array1, array2);
      
      if(result > 0) {
    	  System.out.println("First array is greater than second array.");
      } else if (result == 0) {
    	  System.out.println("Arrays are same.");
      } else {
    	  System.out.println("First array is less than second array.");
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

First array is greater than second array.
java_util_arrays.htm
广告