【转】SparseArray

标签: sparsearray | 发表时间:2014-01-21 22:08 | 作者:gdfdfg
出处:http://www.iteye.com
SparseArray是android里为<Interger,Object>这样的Hashmap而专门写的class,目的是提高效率,其核心是折半查找函数(binarySearch),今天在看这个class的实现时发现一个很好的设计: 

    public void remove(int key) {
        delete(key);
    }
remore和delete都实现了,功能当然是一样的,对用户来说,想用delete,和remove的都可以。
起折半查找算法也写的非常棒:
    private static int binarySearch(int[] a, int start, int len, int 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 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [sparsearray] 推荐:

【转】SparseArray

- - 移动开发 - ITeye博客
SparseArray是android里为这样的Hashmap而专门写的class,目的是提高效率,其核心是折半查找函数(binarySearch),今天在看这个class的实现时发现一个很好的设计: . remore和delete都实现了,功能当然是一样的,对用户来说,想用delete,和remove的都可以.