数组中常见的查找法就是 基本查找法 ,也就是遍历下来挨个比对进行查找!

public class Test {
    public static void main(String[] args) {
        int[] arr = {10, 3, 1, 6, 7, 65, 30, 80, 90};

        //查找该元素在数组中第一次出现的索引
        int index = getIndex(arr, 90);
        System.out.println(index);

    }

    //基本查找
    private static int getIndex(int[] arr, int ele) {

        for (int i = 0; i < arr.length; i++) {
            if (ele == arr[i]) {
                return i;
            }
        }
        return -1;            //-1 表示没有 找到
    }
}

除此之外就是 二分查找法 

二分查找法的前提就是这个数组里的元素是有序的!否则用不了二分查找法的哈!

二分查找的基本思想:每次拿着需要查找的元素与数组中间索引所对应的元素进行比较!如果想等即返回,如果需要查找的元素比数组中间索引所对应的元素小,则继续与左边区域的中间元素比较.如果需要查找的元素比数组中间索引所对应的元素大,则继续与右边区域的中间元素比较.

是不是又点晕乎乎的?没关系!咱们看一下图,便一目了然了!

 现在心里明朗了许多吧!来咱们直接进入代码实现环节!

public class MyTest2 {
    public static void main(String[] args) {
        int[] arr = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
        //二分查找:数组元素,必须有序
        int index = myBinarySearch(arr, 70);
        System.out.println(index);

    }

    private static int myBinarySearch(int[] arr, int ele) {
        int minIndex = 0;
        int maxIndex = arr.length - 1;
        int centerIndex = (minIndex + maxIndex) / 2;
        while (minIndex <= maxIndex) {
            if (ele == arr[centerIndex]) {      //中间元素与需要查找的元素相等
                return centerIndex;
            } else if (ele < arr[centerIndex]) {     //需要查找的元素小于中间元素
                maxIndex = centerIndex - 1;
            } else if (ele > arr[centerIndex]) {     //需要查找的元素大于中间元素
                minIndex = centerIndex + 1;
            }

            //重新计算中间索引
            centerIndex = (minIndex + maxIndex) / 2;
        }

        return -1;
    }
}

(小编也在努力学习更多哟!以后会多多分享哒!)

希望对友友们有所帮助!!!!