SparseLongArray和SparseIntArray

来源:互联网 发布:android界面设计软件 编辑:程序博客网 时间:2024/05/16 15:50

这两个类内部提供了一个二分查找方法binarySearch()用于keys的查询,这样既有key又有index,结合了map和array

    private static int binarySearch(int[] a, int start, int len, long key) {
        int high = start + len, low = start - 1, guess;


        while (high - low > 1) {
            guess = (high + low) / 2;


            if (a[guess] < key)
                low = guess;
            else
                high = guess;
        }


        if (high == start + len)
            return ~(start + len);
        else if (a[high] == key)
            return high;
        else
            return ~high;
    }

0 0
原创粉丝点击