- 浏览: 194255 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kjmmlzq19851226:
这个和排序米有关系吧
一个排好序的数组,找出两数之和为m的所有组合 -
ileson:
...
spring在web.xml中的配置
package utils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* 根根据指定的关键字排序List<Map>类型的List
*
* @author guozi
*/
public class MapListComparator implements Comparator {
private String key;
private String orderType;
/**
* @param key
* 排序的关键字
* @param orderType
* 排序的方式:"asc" 升序; "desc" 降序
*/
public MapListComparator(String key) {
this.key = key;
this.orderType = "asc";
}
public MapListComparator(String key, String orderType) {
this.key = key;
this.orderType = orderType;
}
public int compare(Object o1, Object o2) {
Map m1 = (Map) o1;
Map m2 = (Map) o2;
if ("desc".equals(orderType)) {
return (m2.get(key).toString()).compareTo(m1.get(key).toString());
}
return (m1.get(key).toString()).compareTo(m2.get(key).toString());
}
public static void main(String[] args) {
List<Map> l = new ArrayList<Map>();
Map m1 = new HashMap();
m1.put("id", "1");
m1.put("name", "aa");
m1.put("score", 10);
Map m2 = new HashMap<String, String>();
m2.put("id", "2");
m2.put("name", "bb");
m2.put("score", 20);
Map m3 = new HashMap<String, String>();
m3.put("id", "3");
m3.put("name", "cc");
m3.put("score", 30);
l.add(m1);
l.add(m3);
l.add(m2);
for (Map m : l) {
System.out.println(m.get("id") + " = " + m.get("name"));
}
System.out.println("==============================");
Collections.sort(l, new MapListComparator("score", "desc"));
for (Map m : l) {
System.out.println(m.get("id") + " = " + m.get("name"));
}
}
}
发表评论
-
java对称加密算法的使用
2014-05-26 09:55 2822package utils; import java.io ... -
java使用ganymed-ssh2执行linux操作系统命令
2013-12-31 10:10 2069public static void main(Strin ... -
一个排好序的数组,找出两数之和为m的所有组合
2013-06-13 18:46 1544public static void main(Strin ... -
java中文API
2012-04-17 12:25 887http://www.oschina.net/home/api ... -
javase7官方API
2012-04-17 11:38 1133Java™ Platform, Standard Edit ... -
javase6中文API
2012-04-01 20:15 2499概述 软件包 类 使用 ... -
javase6官方API
2012-04-01 20:10 991Overview Package C ... -
java.util.concurrent官方API文档
2012-04-01 20:03 1958Overview Package C ... -
java.util.concurrent中文API
2012-04-01 19:45 1627概述 软件包 类 使用 ... -
java.util.concurrent介绍(转)
2012-04-01 19:33 1009本文由 cnblogs 博主 ... -
JDK6下开发WebService
2012-03-17 09:06 1577周末闲来无事,在家中复习了一下JDK6下开发WebServi ... -
日期正则表达式
2012-01-13 17:58 1136一、简单的 日期判断(YYYY/MM/DD):^\d{4 ... -
使用JAVA API上传文件到FTP服务器
2011-12-02 12:41 1212private void FtpUpload() throw ... -
Java发送邮件
2011-11-04 17:24 964import java.io.UnsupportedEncod ... -
POI导入Excel
2011-11-04 16:34 1214import java.beans.BeanInfo;impo ... -
使用JAVA API从FTP服务器下载文件
2011-11-04 16:28 1784import java.io.IOException; im ... -
Java读取Properties文件
2011-11-04 16:06 795使用J2SE API读取Properties文件的六种方法 ... -
java获取服务器IP
2011-10-27 12:04 1256java.net.InetAddress.getLocalHo ... -
java 获取真实客户端IP(转载)
2011-10-27 11:33 2257原文出处:http://jun-li-leo.iteye. ... -
JDBC连接字符串
2011-10-26 11:17 21401. MySQL Class.forName(&quo ...
相关推荐
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...
### c# List类排序方法 ...通过自定义比较器,我们可以实现更复杂的排序逻辑。此外,`List<T>`还支持部分排序,进一步增强了排序功能的灵活性。理解并掌握这些方法将有助于我们在实际开发中更加高效地管理数据。
在C#编程中,`List<T>` 是一个常用的...这种方法在处理复杂业务逻辑和用户自定义排序需求时非常有用,因为它允许程序在运行时根据不同的条件调整排序策略。同时,由于使用了LINQ和表达式树,代码保持了简洁性和可读性。
`SortItems`函数是MFC提供的用于对ListCtrl进行排序的函数,需要传入一个比较函数`MyCompareFunction`和一个参数,参数通常为`this`指针,以便在比较函数中获取控件实例。 `MyCompareFunction`是自定义的比较函数,...
在.NET框架中,`List<T>`是一个常用的动态数组,它提供了丰富的操作集合的方法,包括排序。当需要自定义排序规则时,我们可以实现`IComparer<T>`接口。`ICompare`通常指的是`IComparer`,这是一个接口,用于比较两个...
总的来说,通过`Collections.sort()`配合自定义`Comparator`,我们可以灵活地对包含对象的`List`进行排序,无论是正序、倒序还是基于多个字段的复杂排序需求。这种方法避免了频繁的数据库查询,提高了程序效率,同时...
2. **自定义排序**:对于更复杂的排序需求,比如多列排序或自定义排序规则,你需要重写CListCtrl的CompareItem函数。在比较两个列表项时,你可以根据需要比较列的值,然后返回比较结果。这种方法更灵活,但需要更多...
本文将详细讨论“list列排序”和“调用SQL存储过程”这两个关键知识点。 首先,我们来了解一下“list列排序”。在编程中,List控件是一种常用的用于展示和管理数据的组件,它允许我们在程序中存储和显示一系列有序...
在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...
这个例子只是一个基础的框架,实际应用中可能需要处理更多细节,例如优化排序性能、处理复杂数据类型、支持多列排序等。但总的来说,理解以上步骤和原理,就能实现ListCtrl点击标题排序的功能。
- **多字段排序**: 对于复杂的数据结构,可以根据多个字段进行排序。 - **数据清洗**: 在处理数据前,先进行排序以便更容易发现异常值或规律。 #### 总结 通过这种方式,我们可以在 Java 中轻松地对 List 集合中的...
这种方法不仅适用于简单的文本数据排序,还可以扩展到更复杂的数据类型或排序规则。对于MFC开发者来说,掌握这一技能是非常有帮助的,特别是在开发桌面应用程序时,`ListCtrl`是常用且重要的控件之一。
此外,自定义排序函数也可以实现更复杂的排序逻辑,如根据特定字段或者自定义规则进行排序。 2. **排序事件**:当用户触发排序操作时,例如点击列头,Duilib会触发一个排序事件。开发者需要为这个事件注册回调函数...
在Windows编程领域,ListCtrl是MFC(Microsoft Foundation Classes)库中的一个...这份源码提供了基础的排序功能,但在实际项目中,可能需要进一步扩展以支持更复杂的排序逻辑,例如根据多个列排序或者自定义排序规则。
请注意,实际的排序算法(SortListCtrl函数)可能会根据你的具体需求有所不同,例如,如果你的列表项包含复杂数据结构,可能需要更复杂的比较逻辑。此外,如果列表项数量很大,你可能还需要考虑性能优化,例如使用...
相较于简单的数组,`TList` 提供了更为丰富的功能,如动态调整大小、排序等特性,这些特性使得 `TList` 成为了 Delphi 程序员处理复杂数据结构时不可或缺的工具之一。 #### 二、`TList` 类型概述 `TList` 定义在 `...
对于更复杂的排序需求,例如根据多个字段或属性进行排序,可以使用`key`参数传递一个元组或者lambda表达式。例如,对一个包含字典的列表按多个键排序: ```python data = [{'name': 'Alice', 'age': 30}, {'name': '...
总之,“LIST泛型排序”是Java编程中一个重要的实践技能,它使我们能够灵活地对包含复杂对象的列表进行定制化的排序。通过理解`Comparator`接口的工作原理,我们可以更好地管理和操作数据,提高代码的可读性和效率。
在Java编程中,Stream API是Java 8引入的一个强大特性,...无论是在简单的日期列表还是复杂的数据结构中,都可以轻松地实现排序功能。实践过程中,可以根据实际需求选择合适的日期类型和排序规则,使代码更加简洁易读。