List排序的使用
2013-08-28 19:17
211 查看
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)
阅读(717) | 评论(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 安装,...
php集成环境和自己配置的区别...
flash播放控件
查看nginx某一时段的日志...
ftp服务器日志分析
mpi 目标机器积极拒绝,下面错...
给主人留下些什么吧!~~
评论热议
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
阅读(717) | 评论(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 安装,...
php集成环境和自己配置的区别...
flash播放控件
查看nginx某一时段的日志...
ftp服务器日志分析
mpi 目标机器积极拒绝,下面错...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- java根据时间排序list,使用collections.sort()
- List中的数据如何根据对象的某一个或多个字段排序引出Comparable和comparator的使用
- 使用c++中的list排序
- List使用sort进行排序
- [编写高质量代码:改善java程序的151个建议]建议81 非稳定排序推荐使用list
- ViewPager使用FragmentPagerAdapter加载多个fragment,实现对已加载的list做插入、删除及排序操作
- 深入理解 c# 第一章 使用IComparer<Product> 对 List<Product> 进行排序
- 使用sort对list进行倒序排序
- J2SE基础夯实系列之List中的数据如何根据对象的某一个或多个字段排序引出Comparable和comparator的使用
- 不使用遍历循环、Linq与Lamba表达式快速对List集合进行筛选与排序——在集合类里使用Find、FindAll与Sort
- C# 中使用Linq和Lambda表达式对List<T>进行排序
- C# 中使用LINQ和LAMBDA表达式对LIST进行多字段排序
- 使用Collections.sort(List<T>,Comparator<? super T>)给List<String>排序
- List<Object>使用Object的某个属性进行排序(正序,倒序)
- 11.7 如何使用List排序?
- 排序与list.sort()使用
- 基于python list对象中嵌套元组使用sort时的排序方法
- WPF使用BindingListCollectionView 和 ListCollectionView 视图排序集合
- 使用List<>泛型,怎么排序?
- 关于java中的List集合的排序问题/Collections.sort()的使用(转)