Java数组搜索和比较

在Java中,如何搜索和比较数组?

示例

以下示例显示如何使用sort()binarySearch()方法来完成任务。用户定义的方法printArray()用于显示输出 -

package com.yiibai;

import java.util.*;

public class ArraySortCompare {
    public static void main(String args[]) throws Exception {
        int array[] = { 12, 15, -2, 16, -3, 28, 10, -7, -9, 24 };
        Arrays.sort(array);
        printArray("Sorted array", array);

        int index = Arrays.binarySearch(array, 2);
        System.out.println("Found 2 @ " + index);
    }

    private static void printArray(String message, int array[]) {
        System.out.println(message + ": [length: " + array.length + "]");
        for (int i = 0; i < array.length; i++) {
            if (i != 0) {
                System.out.print(", ");
            }
            System.out.print(array[i]);
        }
        System.out.println();
    }
}
Java

执行上面示例代码,得到以下结果 -

Sorted array: [length: 10]
-9, -7, -3, -2, 10, 12, 15, 16, 24, 28
Found 2 @ -5
Shell

示例2

如何比较两个数组?

package com.yiibai;

public class ArraySortCompare2 {
    public static void main(String[] args) {
        int arr1[] = { 1, 2, 3 };
        int arr2[] = { 1, 2, 3 };

        if (arr1 == arr2)
            System.out.println("Same");
        else
            System.out.println("Not same");
    }
}
Java

执行上面示例代码,得到以下结果 -

Not same
Shell

示例3

数组比较的另一个示例示例 -

package com.yiibai;

import java.util.*;

public class ArraySortCompare3 {
    public static void main(String[] args) {
        int arr1[] = { 1, 2, 3 };
        int arr2[] = { 1, 2, 3 };

        if (Arrays.equals(arr1, arr2))
            System.out.println("Same");
        else
            System.out.println("Not same");
    }
}
Java

执行上面示例代码,得到以下结果 -

same
posted @ 2018-09-09 13:00  borter  阅读(2821)  评论(0编辑  收藏  举报