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

Android应用性能优化之使用SparseArray替代HashMap

2014-06-09 16:47 405 查看
转自http://liuzhichao.com/p/832.html

用SparseArray<E>来替代HashMap<Integer,
E>

核心折半查找函数(binarySearch)

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;
}

相应的也有SparseBooleanArray,用来取代HashMap<Integer, Boolean>,SparseIntArray用来取代HashMap<Integer,
Integer>,大家有兴趣的可以研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息