您的位置:首页 > 移动开发 > Android开发

Android中SparseArray一个写的很人性化的地方

2013-09-04 11:05 330 查看
http://blog.sina.com.cn/s/blog_68d72c9b010131ug.html

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: