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集合排序相关推荐

  1. java中集合的排序_Java中集合排序的两种方法

    import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.u ...

  2. java怎么给list集合排序_java list集合排序按某一属性排序操作

    我就废话不多说了,大家还是直接看代码吧~ public List sortList(List list){ Collections.sort(list, new Comparator(){ @Over ...

  3. java中list元素排序_java list集合元素根据某些字段排序

    一.jdk1.6的环境下 新建ComparatorSort类,并实现Comparator接口,重写compare方法 降序排序:o1的元素>o2的元素,并返回-1:o1的元素小于o2的元素,并返 ...

  4. java 字段排序_Java多字段排序之冒泡

    场景: 奥运会时期,每场赛事后,对国家的金.银.铜牌进行排序,排序规则如下: 先以金牌排序,金牌数越多,排得越前,如果金牌数相同,则比银牌数,如果银牌数一样多,则比铜牌数,如果铜牌数还一样多,则按国家 ...

  5. java 有序容器_Java 容器集合框架概览

    Java Collections Framework 集合的概念 集合collection,有时叫做容器container,把多个元素组成一个单元. 早期的Java (pre-1.2) 中包含了Vec ...

  6. java对汉字按照拼音首字母排序_java对象集合中某个属性的汉字进行按拼音进行排序...

    在开发中,有些时候我们要对一个集合中的对象的某个属性进行按拼音排序,便于更快的找到汉字,我采用Comparator接口,在实现这个接口里定义排序规则,取得比较对象的汉字编码,并将其转换成字符串,运用S ...

  7. java json 对象如何对属性排序_Java对象集合、对象数组如何排序?你需要知道这两种方式...

    一.引子 在比较Java对象时,正常情况下,我们只能使用==或!=进行比较,而不能使用>或者<这样的运算符. 那么问题来了,开发过程中我们经常要对多个对象排序,排序必然需要比较,那么如何实 ...

  8. java集合对象排序_java ArrayList集合中的某个对象属性进行排序的实现代码

    开发中有时候需要自己封装分页排序时,List如何对某一属性排序呢,分享一个小实例,大家共勉,希望能对大家有用,请多多指教. 1.Student的Bean如下: public class Student ...

  9. java list对象排序_Java 对象集合List排序的5种方式

    目标明确 排序对象类 public class Student{ private String name; private Integer age; public Student(String nam ...

  10. java treeset排序_java TreeSet的排序之自然排序

    TreeSet会调用元素的compareTo(Object o)方法来比较元素之间的大小关系,然后将集合里的元素按升序排列.此时需要排序元素的类必须实现Compareble接口,并覆写其int com ...

最新文章

  1. CUDA C++程序设计模型
  2. Windows 日志高级筛选实践
  3. 腾讯面试题 TCP/IP协议四个层次
  4. 判定重大风险有哪几种_化工生产安全管理信息化平台可以解决哪些重大问题
  5. tcpdump - 数据包进行截获的包分析工具
  6. oracle 批量插入 mysql 区别,Oracle 和 mysql 的批量操作Sql语句 的区别
  7. POJ 2828Buy Tickets
  8. 缓存穿透、缓存雪崩、缓存击穿的原因及解决方案
  9. win10计算机管理字体糊,Win10系统字体显示模糊的多种解决方法
  10. Java实体类与数据库表映射关系
  11. 手动杀毒,SOLA病毒(也称之为worm.script.bat.Agent、Trojan.Win32.Sola病毒)
  12. html5制作人物动作,如何用3DMAX制作多动作人物
  13. 装机不求人,10 分钟完成电脑配置挑选
  14. 测试2年6.5K,每天“911”,我的心酸经历只有我自己知道···
  15. Google Bigtable 中文版
  16. HTML中添加超链接、音频标签、视频标签、内嵌框架标签
  17. 【Exception】Class com.XXX1 can not access a member of class com.XXX2 with modifiers “public“
  18. 课堂笔记_ 光线跟踪加速
  19. Maven命令行查看依赖树
  20. iphone相册储存空间已满_iPhone老提示储存空间已满的具体处理操作

热门文章

  1. 项目视频讲解_基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台
  2. Unity发布Android时需要的Android SDK/NDK的下载
  3. html商城网站模板
  4. 小米6Android11刷机包,钉子户小米6的新生,换电池、背盖,升级android11
  5. AD9 设置网络标号作用域
  6. 富士施乐2022网络扫描设置_富士施乐怎么设置扫描到PC?
  7. 分立元器件——电感器
  8. 管理员权限自动注册Dll文件
  9. 电子招标是未来的招投标趋势
  10. 麻瓜编程python web百度网盘_麻瓜编程_Python Web开发工程师_附课程配套资料