ArrayList对象排序

简介: 前言:最近对收音机的开发,遇到一个需求,将收藏列表显示在前,电台列表显示在后,所以需要对列表进行对象排序,在此做一个总结.步骤1 创建比较器,指定排序规则导入此包 java.

前言:最近对收音机的开发,遇到一个需求,将收藏列表显示在前,电台列表显示在后,所以需要对列表进行对象排序,在此做一个总结.

步骤1 创建比较器,指定排序规则

导入此包 java.util.Comparator

comparator = new Comparator<RadioNode>() {
            public int compare(RadioNode s1, RadioNode s2) {
                if (s1.isFavor == s2.isFavor) {
                    return s2.frequent - s1.frequent;
                }else{
                    if(s1.isFavor)  return -1;
                    if(s2.isFavor)  return 1;
                }
                return -1;
            }
        };

这里面有两个对象s1和s2,下面是制定的比较规则,如果isFavor相同,则比较frequent
返回1表示s1比s2大,则s1的位置不动,s2继续与后面的比较
返回0表示俩一样大,位置不变
返回-1表示s1与s2交换位置,s1继续按规则比较

步骤2 将集合传入

导入此包java.util.Collections

Collections.sort(favorList,comparator);

end
感谢android

相关文章
|
XML easyexcel Java
EasyExcel实现对excel文件读写
EasyExcel是阿里巴巴开源的一个excel处理框架,**以使用简单、节省内存著称**。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。
1780 1
EasyExcel实现对excel文件读写
|
存储 编译器 Linux
匿名结构体类型、结构体的自引用、结构体的内存对齐以及结构体传参
匿名结构体类型、结构体的自引用、结构体的内存对齐以及结构体传参
203 0
java如何跳出for循环?
java跳出for循环的方法 break continue return break语句 break用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
14028 0
|
12月前
|
人工智能 搜索推荐 测试技术
AI 辅助编程的效果衡量
本文主要介绍了如何度量研发效能,以及 AI 辅助编程是如何影响效能的,进而阐述如何衡量 AI 辅助编程带来的收益。
|
安全 Java 开发者
深入解析ReentrantLock重入锁:Java多线程中的利器
深入解析ReentrantLock重入锁:Java多线程中的利器
2632 4
|
安全 Java 测试技术
阿里开发手册 嵩山版-编程规约 (五)日期时间的规范
《阿里开发手册 嵩山版》的日期时间规范部分提供了关于日期时间处理的强制性和推荐性规约,包括日期格式化、时间获取、避免硬编码日期、处理闰年问题等,以确保程序在时间处理上的准确性和稳定性。
|
关系型数据库 MySQL
mysql查看当前实时连接数最大连接数
mysql查看当前实时连接数最大连接数
1626 0
|
XML BI 数据库
一个基于Android Studio的简易记事本应用
一个基于Android Studio的简易记事本应用
363 0
|
关系型数据库 MySQL 数据库
Host 'XXX' is not allowed to connect to this MySQL server 解决方案
Host 'XXX' is not allowed to connect to this MySQL server 解决方案
436 0
|
C#
C# 当前上下文中不存在InitializeComponent()
C#——当前上下文中不存在InitializeComponent()可能原因是:项目文件直接由外部加载进来时可能出现错误。可以先检查xaml文件的开头x:Class=“day27test02.MainWindow”是否是正确的类名。如果不是,改成对应的项目的类即可。这是本人碰到的这种情况通过这种方式得到解决的,仅供参考。
952 1
C# 当前上下文中不存在InitializeComponent()