java liststring 排序_Java list集合排序
1.简单类型:
Collections.sort(list, new Comparator(){
public int compare(int o1, int o2) {
return o1 - o2;
}
});
Collections.sort(list, new Comparator(){
public int compare(String o1, String o2) {
return o1.length() - o2.length();
}
});
2.复杂类型(对象):
Collections.sort(list, new Comparator(){
public int compare(Emp o1, Emp o2) {
return o1.getSalary() - o2.getSalary();
}
});
3.举个栗子:(根据学生成绩等级排序,A、B、C、D,把等级转换成字符的ASCII值进行排序)
public static void main(String[] args) {
List list = new ArrayList<>();
Sutdent sutdent1 = new Sutdent();
sutdent1.setGrade("B");
list.add(sutdent1);
Sutdent sutdent2 = new Sutdent();
sutdent2.setGrade("A");
list.add(sutdent2);
for (Sutdent sutdent : list) {
System.out.println("排序前:" + sutdent.getGrade());
}
// list排序
Collections.sort(list, new Comparator() {
@Override
public int compare(Sutdent s1, Sutdent s2) {
String grade1 = s1.getGrade();
String grade2 = s2.getGrade();
int num1 = 0;
int num2 = 0;
if (StringUtils.isNotBlank(grade1) && StringUtils.isNotBlank(grade2)) { // 判空
char[] chars1 = grade1.toCharArray();
for (char c : chars1) {
num1 += (int)c;
}
char[] chars2 = grade2.toCharArray();
for (char c : chars2) {
num2 += (int)c;
}
System.out.println("num1:" + num1);
System.out.println("num2:" + num2);
return num1 - num2;
} else {
return 0;
}
}
});
for (Sutdent sutdent : list) {
System.out.println("排序后:" + sutdent.getGrade());
}
}
java liststring 排序_Java list集合排序相关推荐
- java中集合的排序_Java中集合排序的两种方法
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.u ...
- java怎么给list集合排序_java list集合排序按某一属性排序操作
我就废话不多说了,大家还是直接看代码吧~ public List sortList(List list){ Collections.sort(list, new Comparator(){ @Over ...
- java中list元素排序_java list集合元素根据某些字段排序
一.jdk1.6的环境下 新建ComparatorSort类,并实现Comparator接口,重写compare方法 降序排序:o1的元素>o2的元素,并返回-1:o1的元素小于o2的元素,并返 ...
- java 字段排序_Java多字段排序之冒泡
场景: 奥运会时期,每场赛事后,对国家的金.银.铜牌进行排序,排序规则如下: 先以金牌排序,金牌数越多,排得越前,如果金牌数相同,则比银牌数,如果银牌数一样多,则比铜牌数,如果铜牌数还一样多,则按国家 ...
- java 有序容器_Java 容器集合框架概览
Java Collections Framework 集合的概念 集合collection,有时叫做容器container,把多个元素组成一个单元. 早期的Java (pre-1.2) 中包含了Vec ...
- java对汉字按照拼音首字母排序_java对象集合中某个属性的汉字进行按拼音进行排序...
在开发中,有些时候我们要对一个集合中的对象的某个属性进行按拼音排序,便于更快的找到汉字,我采用Comparator接口,在实现这个接口里定义排序规则,取得比较对象的汉字编码,并将其转换成字符串,运用S ...
- java json 对象如何对属性排序_Java对象集合、对象数组如何排序?你需要知道这两种方式...
一.引子 在比较Java对象时,正常情况下,我们只能使用==或!=进行比较,而不能使用>或者<这样的运算符. 那么问题来了,开发过程中我们经常要对多个对象排序,排序必然需要比较,那么如何实 ...
- java集合对象排序_java ArrayList集合中的某个对象属性进行排序的实现代码
开发中有时候需要自己封装分页排序时,List如何对某一属性排序呢,分享一个小实例,大家共勉,希望能对大家有用,请多多指教. 1.Student的Bean如下: public class Student ...
- java list对象排序_Java 对象集合List排序的5种方式
目标明确 排序对象类 public class Student{ private String name; private Integer age; public Student(String nam ...
- java treeset排序_java TreeSet的排序之自然排序
TreeSet会调用元素的compareTo(Object o)方法来比较元素之间的大小关系,然后将集合里的元素按升序排列.此时需要排序元素的类必须实现Compareble接口,并覆写其int com ...
最新文章
- CUDA C++程序设计模型
- Windows 日志高级筛选实践
- 腾讯面试题 TCP/IP协议四个层次
- 判定重大风险有哪几种_化工生产安全管理信息化平台可以解决哪些重大问题
- tcpdump - 数据包进行截获的包分析工具
- oracle 批量插入 mysql 区别,Oracle 和 mysql 的批量操作Sql语句 的区别
- POJ 2828Buy Tickets
- 缓存穿透、缓存雪崩、缓存击穿的原因及解决方案
- win10计算机管理字体糊,Win10系统字体显示模糊的多种解决方法
- Java实体类与数据库表映射关系
- 手动杀毒,SOLA病毒(也称之为worm.script.bat.Agent、Trojan.Win32.Sola病毒)
- html5制作人物动作,如何用3DMAX制作多动作人物
- 装机不求人,10 分钟完成电脑配置挑选
- 测试2年6.5K,每天“911”,我的心酸经历只有我自己知道···
- Google Bigtable 中文版
- HTML中添加超链接、音频标签、视频标签、内嵌框架标签
- 【Exception】Class com.XXX1 can not access a member of class com.XXX2 with modifiers “public“
- 课堂笔记_ 光线跟踪加速
- Maven命令行查看依赖树
- iphone相册储存空间已满_iPhone老提示储存空间已满的具体处理操作
热门文章
- 项目视频讲解_基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台
- Unity发布Android时需要的Android SDK/NDK的下载
- html商城网站模板
- 小米6Android11刷机包,钉子户小米6的新生,换电池、背盖,升级android11
- AD9 设置网络标号作用域
- 富士施乐2022网络扫描设置_富士施乐怎么设置扫描到PC?
- 分立元器件——电感器
- 管理员权限自动注册Dll文件
- 电子招标是未来的招投标趋势
- 麻瓜编程python web百度网盘_麻瓜编程_Python Web开发工程师_附课程配套资料