JAVA list 排序

原创 2013年12月04日 20:19:24
项目有个根据日期排序的难题。我已把查好的数据封装到了list中。日期存的是字符串类型。同事想出的办法。附上代码

import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import java.util.Comparator


public class ComparatorArea implements Comparator {
Map<String, Integer> sortValue = new HashMap<String, Integer>();


public int compare(Object p1, Object p2) {
Object o1 = ((Map) p1).get("classDate").toString()+" "+((Map) p1).get("classtime").toString();
Object o2 = ((Map) p2).get("classDate").toString()+" "+((Map) p1).get("classtime").toString();
String key1 = o1 != null ? o1.toString() : "";
String key2 = o2 != null ? o2.toString() : "";
if (StringUtils.isEmpty(key1) && StringUtils.isEmpty(key2)) {
return 0;// 都为null或空串,相等
} else if (key1.equals(key2)) {
return 0;
} else if (StringUtils.isEmpty(key1) && !StringUtils.isEmpty(key2)) {
return 1;// null或空串越向后靠
} else if (!StringUtils.isEmpty(key1) && StringUtils.isEmpty(key2)) {
return -1;// null或空串越向后靠
} else if (key1.compareTo(key2) > 0) {
return -1;// null或空串越向后靠
} else if (key1.compareTo(key2) == 0) {
return 0;// null或空串越向后靠
} else if (key1.compareTo(key2) < 0) {
return 1;// null或空串越向后靠
} else {
return -1;
}
}
}
//用法
ComparatorArea comparator = new ComparatorArea();
Collections.sort(list,comparator);//这里存放已经封装好的要排序的list
System.out.println(list.toString());//之后直接对list进行输出即可

需要另外导入一个包。StringUtils是struts中的common-logging包

java List多字段排序方法

java中对List接口的实例按实体的字段排序。如下例:package se;import java.util.ArrayList; import java.util.Collections; imp...
  • joson793847469
  • joson793847469
  • 2016年09月28日 11:50
  • 1364

Java对List对象进行排序

有时候需要对List对象进行排序,如果每一处都去写一个排序方法,就会产生重复代码的坏味道,而且每一处都写,工作量会很大。 我们知道,Java提供了一个Collections.sort()方法可以对Li...
  • zht666
  • zht666
  • 2013年11月27日 17:50
  • 11193

java基础 三种方式对int类型的List集合排序(通用排序)

首先我们定义一个List并且add元素List list = new ArrayList(); list.add(1); list.add(89); l...
  • Gavin_wangzg
  • Gavin_wangzg
  • 2016年06月08日 11:20
  • 7764

java对象排序、中文排序、list排序

java对象排序(使用Comparator)对象属性为int类型排序首先我们假设有这么一个model类:public class JobCandidate { private String na...
  • u013066244
  • u013066244
  • 2016年11月30日 10:51
  • 2588

Java list的用法排序及遍历

博客来源:http://baike.xsoftlab.net/view/208.html Java list的用法排序及遍历 list遍历排序用法java 概要: List中可以添加任何对象,包括自...
  • qq_19558705
  • qq_19558705
  • 2015年12月30日 18:07
  • 6520

Java对List集合的排序

由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一。ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能...
  • liaodehong
  • liaodehong
  • 2016年01月24日 17:07
  • 10882

最简单的对Java List列表按中文拼音排序的实现方式

本文介绍如何以最简单的方式对java List列表按照中文拼音的顺序进行排列,返回一个排序好的List。...
  • baozhengw
  • baozhengw
  • 2010年08月13日 14:37
  • 10028

java list按照元素对象的指定多个字段属性进行排序

java list按照元素对象的多个字段属性进行排序
  • Enable1234___
  • Enable1234___
  • 2016年11月18日 23:39
  • 7483

根据对象的某个字段对List<Object>排序

首先说下需求,在开发中会遇到对List进行排序,这个也可以在数据库里面查询排序出来,但是有的时候会在查出来之后做一些逻辑处理然后排序,所有就要用到对象排序。 首先创建一个类实现Comparator...
  • a_piaoyouareminemine
  • a_piaoyouareminemine
  • 2016年04月11日 16:31
  • 3233

JAVA对list集合进行排序Collections.sort()

对一个集合中的对象进行排序,根据对象的某个指标的大小进行升序或降序排序。...
  • Super_Man_X
  • Super_Man_X
  • 2015年12月02日 15:53
  • 18131
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA list 排序
举报原因:
原因补充:

(最多只允许输入30个字)