Android实用的排序集合 - SortedList

本文介绍了Android中的SortedList工具类,它是一个排序列表的实现,提供了添加、删除、更新等操作,并能自动保持数据顺序。文章详细讲解了SortedList的核心方法,如add、remove、update,以及如何与RecyclerView.Adapter配合使用。此外,还提到了SortedList.Callback和SortedListAdapterCallback的作用和实现。示例展示了如何在实际开发中应用SortedList。
摘要由CSDN通过智能技术生成

概述

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值