SortedList算不上优化,如果列表有排序的话,可以使用这个集合来代替,实现
SortedListAdapterCallback.compare(Item t0, Item t1)
方法,来进行排序;比较方便和高效;
原理
内部数据操作大部分使用了二分查找,例如单个数据的插入,先用二分查找找出要插入的位置,然后插入;
//找到插入的位置,注意条件left < right
private int findIndexOf(T item, T[] mData, int left, int right, int reason) {
while (left < right) {
final int middle = (left + right) / 2;
T myItem = mData[middle];
final int cmp = mCallback.compare(myItem, item)</