Android关于List的倒序显示
2019-01-22 本文已影响0人
Float小茗同学
需求:对List做一个倒序显示到ListView或者RecyclerView中。
解决方案:
一、一开始网上普遍都说使用
Collections.reverse(list);
Collections的reverse方法,使用后发现的确做到了倒序的功能实现,不过后来发现,当我们往list里面add一条数据的时候,更新之后倒序就会出现顺序乱的现象,比如:
1、2,倒序之后2、1,add一条新数据之后,在倒序一次,2、1、3的顺序,明显不对。
二、后来查到一种新的倒序实现:sort比较器
废话不说,上图:
Collections的sort方法阅读方法源代码发现:
1、对于targetSdkVersion <=25 的版本是用Collections.sort,高于这个版本则可以直接使用,list.sort
2、sort方法实现一个Comparator,然后实现一个compare方法来对数据做对比。返回一个大于0的数则o2在前面,小于0的则o1在前面。