概述
SortedList继承于java.lang.Object
,是android.support.v7.util
包下的工具类。这个类,与java.util包下的ArrayList、List等类没有丝毫的关系,不管是继承还是实现。而,又与它们相像,在这个类的内部,封装了对一系列对数据的操作:插入,删除,移动,更新等。
SortedList实际上是一个排序列表的实现,提供处理了两种角色:
- 保持列表的顺序
- 分发列表更改的信息,以便绑定的RecyclerView.Adapter更新UI
也就是说,SortedList里面的数据集是按照指定的条件排序的,不需要再为排序而烦恼。而,和ArrayList、List等类的排序方式是一样的,它通过compare(Object,Object)方法对Item进行排序,这样又显得不陌生。对于Item的搜索,它采用的二进制搜索来检索Item,提高了检索的效率。
核心方法
添加
- add(T item):添加指定的item到SortedList中
- addAll(T… items):一次性添加多个items到SortedList中
- addAll(Collection items):将给定的集合添加到SortedList中
- addAll(T[] items,boolean mayModifyInput):添加给出的items到指定的list中,当mayModifyInput为true时,SortList在操作数据期间可能直接使用该数组的引用,以节省内存分配。此时,你不能够继续引用数组甚至是更改数组
删除
- clear():清空数据集
- remove(T item):删除指定的Item,然后调用onRemoved()方法
- removeItemAt(int index)&#x