[原创]Map应用___分享一下Map 排序
来源:互联网 发布:人工智能三定律 编辑:程序博客网 时间:2024/06/01 20:16
目的:将一个java Map("String","ActionStatResult")根据其value中ActionStatResult的字段来排序,并得到该对象的倒序 List<ActionStatResult>;
思路:1. 用map.values()分离出Map中的value值对象,并转化为List<ActionStatResult>
2. 对List<ActionStatResult>进行排序,可参考Collections.sort(List,Comparator)排序;
参考代码如下:
public List<ActionStatResult> mapArrayListSort(Map<String,ActionStatResult> map ){
//将Map中的value(其中放着ActionStatResult)值提取出来并转化为一个List对象
List<ActionStatResult> actionList = new ArrayList<ActionStatResult>(map.values());
// sort排序, 其中用匿名内部类比较器..
Collections.sort(actionList,new Comparator<ActionStatResult>(){
@Override
public int compare(ActionStatResult o1, ActionStatResult o2) { //倒序排列
int flag = Long.valueOf(o2.getMaxExecuteTime()).compareTo(Long.valueOf(o1.getMaxExecuteTime()));
if (flag == 0) {
return Long.valueOf(o2.getExecuteCount()).compareTo(Long.valueOf(o1.getExecuteCount()));
}else{
return flag;
}
}
});
return actionList;
}
//例:ActionStatResult对象
public class ActionStatResult {
private String actionClassName; //action类名
private String actionMethodName; //action 方法名
private double avgExecuteTime; // 执行平均时长(毫秒)
private long maxExecuteTime = Long.MIN_VALUE; // 执行最长时长(毫秒)
private long minExecuteTime = Long.MAX_VALUE; // 执行最短时长(毫秒)
private long executeCount; // 执行次数
//get- and set- ....
}
在这里与大家分享一下本人在实际开发过程有用的小模块,有更好的做法或有什么想法,可以大家进行交流。。。
- [原创]Map应用___分享一下Map 排序
- 【原创】map容器自定义排序
- Map排序
- map排序
- MAP排序
- Map排序
- Map排序
- map 排序
- map 排序
- map排序
- map 排序
- MAP排序
- Map排序
- map排序
- map排序
- Map 排序
- Map排序
- map排序
- POJ3342Party at Hali-Bula题解动态规划DP
- epoll“传说中”的性能
- Hasp HL加密狗模拟、解密硬复制Hasp HL
- C#中常见异常
- C++链表结构定义的理解
- [原创]Map应用___分享一下Map 排序
- MiniGUI源代码分析(4)--Font目录(1)
- ASP生成静态网页收集整理
- csdn上一个简单求助,我的回复代码(日期2010-08-22 00:53:47)
- 如何提高自己的编程能力
- CString怎么转成LPVOID的问题 vc/mfc
- unix 命令行参数超长的处理。。
- Hasp SRM 加密狗模拟狗解密免狗Hasp SRM
- epoll学习笔记