List排序的使用
2013-08-28 14:39
309 查看
1: list中包含的对象(TaskVO),实现接口Comparator
import java.io.Serializable;
import java.util.Comparator;
import com.comtop.product.scheme.planitem.PlanItemConstants;
import com.comtop.product.scheme.planitem.util.PlanItemUtil;
public class TaskVO implements Serializable,Comparator {
/** 地点名称 */
private String placeName;
/** 工作内容 */
private String workContent;
/** 电压等级 */
private int voltageLevel;
public String getPlaceName() {
return placeName;
}
public void setPlaceName(String placeName) {
this.placeName = placeName;
}
public int getVoltageLevel() {
return voltageLevel;
}
public void setVoltageLevel(int voltageLevel) {
this.voltageLevel = voltageLevel;
}
public String getWorkContent() {
return workContent;
}
public void setWorkContent(String workContent) {
this.workContent = workContent;
}
// 实现排序接口需要的方法(单个属性排序)
public int compare(Object arg0, Object arg1) {
TaskVO taskVO1 = (TaskVO)arg0;
TaskVO taskVO2 = (TaskVO)arg1;
// 如果需要升序排列
return String.valueOf(taskVO1.getVoltageLevel()).compareTo(String.valueOf(taskVO2.getVoltageLevel()));
// 如果需要降序排列
return String.valueOf(taskVO2.getVoltageLevel()).compareTo(String.valueOf(taskVO1.getVoltageLevel()));
}
// 如果需要实现多个属性排序则需要将上面的方法改成如下
public int compare(Object arg0, Object arg1) {
TaskVO taskVO1 = (TaskVO)arg0;
TaskVO taskVO2 = (TaskVO)arg1;
int flag = String.valueOf(taskVO1.getVoltageLevel()).compareTo(String.valueOf(taskVO2.getVoltageLevel()));
if(flag == 0){
return taskVO1.getPlaceName().compareTo(taskVO2.getPlaceName());
}else{
return flag;
}
}
}
2:在需要排序的地方进行调用以下实现即可(假设tasks是一个list对象,里面包含若干个taskVO)
阅读(716) | 评论(0) | 转发(0) |
0
上一篇:jsession 和 cookie欺骗原理
下一篇:其实很多男孩子都不知道
相关热门文章
不锈钢暗装式垃圾桶 20130827...
float和double精度及其区别...
靓机体验HP4395A Agilent4395A...
美澳领导人讨论叙利亚化武问题...
haproxy capture request head...
JDK1.6官方下载_JDK6官方下载_...
MyEclipse6.5下载及注册码...
Eclipse+MyEclipse的配置
Eclipse 插件安装、升级和卸载...
最新版SWT Designer 6.0 安装,...
flash播放控件
查看nginx某一时段的日志...
ftp服务器日志分析
mpi 目标机器积极拒绝,下面错...
ps700 安装的aix6.1以后,装上...
给主人留下些什么吧!~~
评论热议
import java.io.Serializable;
import java.util.Comparator;
import com.comtop.product.scheme.planitem.PlanItemConstants;
import com.comtop.product.scheme.planitem.util.PlanItemUtil;
public class TaskVO implements Serializable,Comparator {
/** 地点名称 */
private String placeName;
/** 工作内容 */
private String workContent;
/** 电压等级 */
private int voltageLevel;
public String getPlaceName() {
return placeName;
}
public void setPlaceName(String placeName) {
this.placeName = placeName;
}
public int getVoltageLevel() {
return voltageLevel;
}
public void setVoltageLevel(int voltageLevel) {
this.voltageLevel = voltageLevel;
}
public String getWorkContent() {
return workContent;
}
public void setWorkContent(String workContent) {
this.workContent = workContent;
}
// 实现排序接口需要的方法(单个属性排序)
public int compare(Object arg0, Object arg1) {
TaskVO taskVO1 = (TaskVO)arg0;
TaskVO taskVO2 = (TaskVO)arg1;
// 如果需要升序排列
return String.valueOf(taskVO1.getVoltageLevel()).compareTo(String.valueOf(taskVO2.getVoltageLevel()));
// 如果需要降序排列
return String.valueOf(taskVO2.getVoltageLevel()).compareTo(String.valueOf(taskVO1.getVoltageLevel()));
}
// 如果需要实现多个属性排序则需要将上面的方法改成如下
public int compare(Object arg0, Object arg1) {
TaskVO taskVO1 = (TaskVO)arg0;
TaskVO taskVO2 = (TaskVO)arg1;
int flag = String.valueOf(taskVO1.getVoltageLevel()).compareTo(String.valueOf(taskVO2.getVoltageLevel()));
if(flag == 0){
return taskVO1.getPlaceName().compareTo(taskVO2.getPlaceName());
}else{
return flag;
}
}
}
2:在需要排序的地方进行调用以下实现即可(假设tasks是一个list对象,里面包含若干个taskVO)
TaskVO taskVO = new TaskVO(); Collections.sort(tasks,taskVO); 后面得到的tasks就是排序过的list
阅读(716) | 评论(0) | 转发(0) |
0
上一篇:jsession 和 cookie欺骗原理
下一篇:其实很多男孩子都不知道
相关热门文章
不锈钢暗装式垃圾桶 20130827...
float和double精度及其区别...
靓机体验HP4395A Agilent4395A...
美澳领导人讨论叙利亚化武问题...
haproxy capture request head...
JDK1.6官方下载_JDK6官方下载_...
MyEclipse6.5下载及注册码...
Eclipse+MyEclipse的配置
Eclipse 插件安装、升级和卸载...
最新版SWT Designer 6.0 安装,...
flash播放控件
查看nginx某一时段的日志...
ftp服务器日志分析
mpi 目标机器积极拒绝,下面错...
ps700 安装的aix6.1以后,装上...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- 使用Comparable、Comparator接口实现对对象数组、List集合自定义排序
- 深入理解 c# 第一章 使用IComparer<Product>委托 对 List <Product> 进行排序
- [转]C# 中使用委托对List<>进行排序和筛选
- 使用Collections对list进行排序
- 使用Collections.sort()实现List正反排序的方法
- J2SE基础夯实系列之List中的数据如何根据对象的某一个或多个字段排序引出Comparable和comparator的使用
- 使用Collections.sort(List<T>,Comparator<T>)给List<String>排序(一)
- Unity编辑器拓展之一:ReorderableList可重新排序的列表框(简单使用)
- 简单排序,C# 直接使用 List。
- 使用Collections对list的内容进行排序
- Java中使用Collections.sort对List里面的元素排序示例
- <STL初探>list节点为自定义类型,如何访问节点中变量和函数,如何使用list自带的排序
- 使用Comparator对List排序
- list排序;arrays.sort使用
- Insertion Sort List 使用插入排序将链表排序
- 深入理解 c# 第一章 使用扩展方法对 List<Product> 排序
- 使用Collections.sort(List<T>,Comparator<T>)给List<String>排序(一)
- 使用Collections.sort对List进行排序
- VS2010使用扩展方法对List<T>进行随机排序
- 使用Collections.sort()对List/ArrayList进行排序