目的:将一个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中的key或value进行排序,以满足特定的业务需求。 对Map中的key进行排序 对Map中的key进行排序可以使用TreeMap来实现。TreeMap是一个有序的Map,它可以根据key的自然顺序或...
然而,在某些场景下,我们可能需要将Map中的元素按照值(value)进行排序。本文将详细介绍如何在Java中实现Map按值排序的几种方法。 1. 使用TreeMap TreeMap是Java中实现Map接口的一个类,它内部使用红黑树数据结构...
Java中实现Map排序的方式主要有两种,一种是使用TreeMap,另一种是使用SortedMap接口。HashMap内部元素是无序的,它不会...理解了上述内容后,即使存在个别字词识别问题,也不影响对Java中Map排序方法的理解和应用。
每个节点上的Map函数负责对输入数据进行局部排序,通常采用快速排序、归并排序等高效的排序算法。这个阶段的目标是生成一系列键值对,其中键是排序依据,值是对应的原始数据。 2. Shuffle阶段:Shuffle阶段是...
在实际应用中,选择哪种Map实现取决于具体的需求。如果需要快速查找且不关心顺序,`HashMap`可能是最好的选择;如果需要保持插入顺序,可以使用`LinkedHashMap`;如果需要按键排序或自定义排序,那么`TreeMap`更为...
### Map排序方法详解 在Java编程中,Map接口是一种常用的数据结构,用于存储键值对。但是,默认情况下,Map并不支持排序操作。然而,在实际应用中,我们常常需要按照特定的顺序来展示或处理Map中的元素。为此,本文...
在标题"STL_map初始化和排序"中,我们主要关注两个方面:初始化和排序。接下来将详细解释这两个主题。 ### 1. STL Map 的初始化 在C++中,我们可以使用多种方式来初始化一个`map`对象: #### (1) 使用大括号初始...
Map中元素存放是无序的 HashMap注意事项: 1,HashMap底层维护一个数组,我们向HashMap中所放置的对象实际上是存储在该数组当中; 2,当向HashMap中put一对键值时,它会根据key的hashCode值计算出一个位置,该位置...
综上所述,Windows版SVM-MAP是一个基于支持向量机的文档排序工具,它通过最大化平均精度均值来优化信息检索结果,适用于NLP领域的各种应用场景。在实际使用中,用户需要了解相关算法背景,掌握数据预处理和模型训练...
在这个场景中,我们关注的是如何在Activity之间通过Intent传递一个有序且可排序的Map集合。理解这个知识点对于优化应用的数据传输流程至关重要。 首先,Map接口在Java中提供了若干实现类,如HashMap、LinkedHashMap...
但是通常,这样的博文可能会详细解释Map排序的各种方法、性能差异以及实际应用中如何选择合适的方法。 标签中的“源码”可能是指分析Map排序的底层实现,比如HashMap和TreeMap的源代码,这可以帮助我们理解它们的...
在实际应用中,MAP文件可以帮助我们了解程序在内存中的分布情况,查找内存泄露和优化程序的性能。同时,MAP文件也可以帮助我们了解程序的编译过程和内存使用情况。 在编译IAR工程时,需要注意路径错误的问题。如果...
首先,`std::map`是基于红黑树实现的有序关联容器,它保证了容器内的元素按照键值排序。这意味着插入新元素时,会进行比较并重新调整树结构,以保持排序。而`std::unordered_map`则是基于哈希表实现的无序关联容器,...
在SpringBoot和Mybatis的集成应用中,我们经常需要处理数据映射,特别是从数据库查询结果转换成Java对象。在Java编程中,驼峰命名法(Camel Case)是常用的变量和方法命名规则,它使得代码更易读、更符合编程规范。...
4. 比较函数(comparison function):默认情况下,`map`按照键的升序排列,但可以通过自定义比较函数改变排序规则。 ### 增加元素 增加元素到`map`中通常使用`insert`或`emplace`函数。`insert`接受一个键值对,...
在实际应用中,选择哪种排序方法取决于具体需求。如果需要频繁根据Value排序,使用TreeMap配合自定义Comparator可能是最佳选择。如果只是偶尔排序,转换为List并使用Collections.sort()也足够。务必注意,排序操作会...
在Java编程中,Map接口表示一组键值对的集合,其中...无论选择哪种方法,关键是理解如何控制排序逻辑,并确保在处理键值对时正确地应用这些逻辑。在实际开发中,根据项目需求和团队的熟悉程度,可以选择最适合的方法。
2. **有序性**:`map`和`set`都保证了元素的有序性,默认情况下按照升序排序。 3. **高效性**:由于红黑树的特性,使得`map`和`set`在插入、删除和查找操作上都具有较高的效率。 4. **迭代器**:`map`和`set`支持...
在Java 8中,Stream API引入了许多新的特性,使得对数据结构的操作更加简便高效,其中包括对Map类型元素的排序。本文将深入讲解如何使用Stream API对Map进行排序,包括按键排序、按值排序以及使用`merge()`函数处理...
在JavaScript中,Array和Map是两种非常重要的数据结构,它们各有各的特点和应用场景。这篇文章将深入探讨这两个概念,以及如何在实际开发中使用它们。 首先,Array是JavaScript中最基础的数据结构之一,它允许我们...