场景:
SparseArray 是android中用来取代HashMap的一种数据结构。既然android系统建议我们用SparseArray来代替HashMap,那我们还是按它说的做吧。但是在使用过程中,我们需要对他进行排序,比如按照数据的字母进行排序。
解决方式:
private SparseArray sortSparseArray(SparseArray arr){
List keys = new ArrayList();
List vals = new ArrayList();
for(int i =0; i < arr.size();i++){
keys.add(arr.keyAt(i));
vals.add(arr.valueAt(i));
}
Collections.sort(keys);
Collections.sort(vals);
arr.clear();
for (int i =0; i
arr.put(keys.get(i),vals.get(i));
}
return arr;
}
只需要把查出来的未排序的sparseArray的key跟value先装进分别的list里面并且分别对他们进行排序之后再次装填即可。