1. 利用BeanComparator对List<Object>根据属性进行排序

        String daXiaoOrder[] = {"很小","小","中","大","特大"};
String tianDuOrder[] = {"不甜","甜","很甜"}
ComparatorChain comparatorChain = new ComparatorChain();
FixedOrderComparator fixedOrderComparator1 = new FixedOrderComparator(daXiaoOrder);
FixedOrderComparator fixedOrderComparator2 = new FixedOrderComparator(tianDuOrder);
//daXiao 和 tianDu 是Apple类的成员变量
comparatorChain.addComparator(new BeanComparator("daXiao",fixedOrderComparator1));
comparatorChain.addComparator(new BeanComparator("tianDu",fixedOrderComparator2));
Collections.sort(appleList, comparatorChain);

2. 利用Comparator对List<String>排序

 1 public static final Map<String, Integer> CHANNEL_ORDER_MAP = new HashMap<String, Integer>() {
2 private static final long serialVersionUID = -8011287503097413378L;
3
4 {
5 put("A", 0);
6 put("B", 1);
7 put("C", 2);
8 put("D+", 3);
9 put("E", 4);
10 put("F", 5);
11 put("G", 6);
12 put("H", 7);
13 put("I", 8);
14 put("J", 9);
15 put("K", 10);
16 }
17 };
18
19 /**
20 * 对渠道类型编码排序
21 *
22 * @param list 排序列表
23 */
24 public static void sortChannel(List<String> list) {
25 // 进行排序操作
26 list.sort(new Comparator() {
27 @Override
28 public int compare(Object o1, Object o2) {
29 // 处理不存在指定排序列表中的字符串
30 if (CHANNEL_ORDER_MAP.get(o1) == null || CHANNEL_ORDER_MAP.get(o2) == null) {
31 return 1;
32 }
33 return CHANNEL_ORDER_MAP.get(o1).compareTo(CHANNEL_ORDER_MAP.get(o2));
34 }
35 });
36 }

最新文章

  1. C# Excel 为图表添加模拟运算表
  2. 安装指定版本的cordova
  3. Android成长日记-使用ViewFlipper实现屏幕切换动画效果
  4. HTML中div以及span等元素获取焦点
  5. [mysql] 一次sql耗时高引发报警的分析和处理
  6. 机器学习中的范数规则化之(一)L0、L1与L2范数(转)
  7. NBUT 1122 Shameimaru&#39;s Candid Camera(水)
  8. document_createElement
  9. hibernate 插入数据时让数据库默认值生效
  10. cocos Studio使用问题
  11. FFmpeg中overlay滤镜用法-水印及画中画
  12. python元组类型
  13. windows10系统盘瘦身
  14. BurpSuit2.0专业版破解
  15. 极其好用好学的规则引擎 - A2D规则引擎
  16. Division, UVa 72(暴力求解)
  17. vsftpd上传文件出现553 Could not create file错误解决方法
  18. Python笔记 #19# 实现bpnn
  19. 《剑指offer》第四十七题(礼物的最大价值)
  20. 利用WCF搭建RESTful--纯代码启动

热门文章

  1. Java中Set里remove详解
  2. mac 暗黑破坏神2
  3. M1芯片的Mac上如何安装Windows系统
  4. Visual Studio Code 使用总结
  5. Burp学院-SQL注入
  6. WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法
  7. 常见报错——Uncaught TypeError: document.getElementsByClassName(...).addEventListener is not a function
  8. 公司官网百度搜素优化(www.curetech.cc)
  9. .net core 序列日志Serilog
  10. U盘启动安装 Centos 出错记录(Reached target Basic System)