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 }

利用Comparator对枚举类型进行排序的实现的更多相关文章

  1. Java之——利用Comparator接口对多个排序条件进行处理

    转载自:http://blog.csdn.net/l1028386804/article/details/56513205 膜拜大神··· 一.需求 假设现在有个如此的需求:需要对一个这样的雇员列表进 ...

  2. 我的Java开发学习之旅------>Java利用Comparator接口对多个排序条件进行处理

    一需求 二实现Comparator接口 三验证排序结果 验证第一条件首先按级别排序级别最高的排在前面 验证第二条如果级别相等那么按工资排序工资高的排在前面 验证第三条如果工资相当则按入职年数排序入职时 ...

  3. ComparatorChain、BeanComparator用法示例(枚举类型排序转)

    工作中遇到按照类的某个属性排列,这个属性是个枚举类型,按照要求的优先级排列. 可以使用ComparatorChain.BeanComparator.FixedOrderComparator实现. 举一 ...

  4. [CLR via C#]15. 枚举类型和位标志

    一.枚举类型 枚举类型(enumerated types)定义了一组"符号名称/值"配对. 例如,以下Color类型定义了一组符号,每个符号都标识一种颜色: internal en ...

  5. 重温CLR(十一) 枚举类型、位标志和数组

    枚举类型 枚举类型(enumerated types)定义了一组"符号名称/值"配对.例如,以下Color类型定义了一组符号,每个符号都标识一种颜色: internal enum ...

  6. Java开发笔记(五十六)利用枚举类型实现高级常量

    前面介绍了联合利用final和static可实现常量的定义,该方式用于简单的常量倒还凑合,要是用于复杂的.安全性高的常量,那就力不从心了.例如以下几种情况,final结合static的方式便缺乏应对之 ...

  7. 5月11日 ArrayList集合复习、特殊集合、枚举类型

    一.ArrayList集合复习 //定义 ArrayList al = new ArrayList(); //添加元素 al.Add(); //插入元素 al.Insert(,); //查看个数 in ...

  8. C# 获取与解析枚举类型的 DescriptionAttribute

    原文:C# 获取与解析枚举类型的 DescriptionAttribute System.ComponentModel.DescriptionAttribute 这个 Attribute,经常被用来为 ...

  9. golang枚举类型 - iota用法拾遗

    在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...

  10. TypeScript中的枚举类型

    TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...

随机推荐

  1. linux启用ipv4转发功能

    一.临时生效,重启失效1.sysctl -w net.ipv4.ip_forward=12.echo 1 > /proc/sys/net/ipv4/ip_forward二.永久生效修改 /etc ...

  2. nginx 配置443 域名

    1 申请域名 (公有云)2 下载证书 pem key 并上传服务器指定目录3 公有云上做A记录解析 (解析到代理的nginx)4 nginx配置443模块 配置内容: server { listen ...

  3. React.js 修改文本中数字样式

    export function numberToColor(text, color = '#635BFF', size = '12px') { let reg = /(\d+)/g; return t ...

  4. Web安全与渗透测试笔记

    Web安全与渗透测试笔记 @author: lamaper 一.基本网络知识 (一)网络是怎样联通的 TCP/IP协议 Internet Http协议 (二)Http协议 http请求 一个完整的Ht ...

  5. win10 优化关键字

    powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61 通知和操作 自动维护 存储 个性化 透明效果 启动 登录选项 更新或重启后 ...

  6. 第八章用matplotlib、seaborn、pyecharts绘制散点图

    文章目录 散点图 matplotlib绘制散点图 seaborn绘制散点图 pyecharts绘制散点图 源码地址 本文可以学习到以下内容: matplotlib 中文乱码解决办法 seaborn 中 ...

  7. wireshark抓包海康威视摄像头

    1:不清楚海康威视摄像头IP地址:网线直连电脑,打开wireshark抓包 2:抓包在source能看到  Hangzhou类似   说明是摄像头.ARP协议  然后192.168.0.251 是摄像 ...

  8. 在CMD上运行java文件时出现错误:找不到或者无法加载主类的问题

    转载链接:https://blog.csdn.net/weixin_39085109/article/details/80189899

  9. drf Serializer基本使用

    drf序列化 在前后端不分离的项目中,可以使用Django自带的forms组件进行数据验证,也可以使用Django自带的序列化组件对模型表数据进行序列化. 那么在前后端分离的项目中,drf也提供了数据 ...

  10. webapi fromurl frombody

    https://blog.csdn.net/QiGary/article/details/113979877 在做后台api接口时,常常涉及到Http方法访问问题,其中最基础也是最核心的就是传参问题. ...