1.对List进行排序可以通过这种方式,实现(implements) Comparable<T>接口
@Override
public int compareTo( T o)
{
if (null == o)
{
return -1;
}
RunningInstancesItemType instance0 = this.instanceInfo;
RunningInstancesItemType instance1 = o.getInstanceInfo();
if (null == instance0 || null == instance1)
{
return -1;
}
else
{
// 按运行时间排序
String launchTime0 = this.getInstanceInfo().getLaunchTime();
String launchTime1 = o.getInstanceInfo().getLaunchTime();
if (!launchTime0.equals(launchTime1))
{
return launchTime1.compareTo(launchTime0);
}
else
{
// 如果运行时间相同,则按Id排序
String instanceId0 = this.getInstanceInfo().getInstanceId();
String instanceId1 = o.getInstanceInfo().getInstanceId();
return instanceId0.compareTo(instanceId1);
}
}
}
@Override
public boolean equals(Object obj)
{
boolean equals;
if (null == obj)
{
equals = false;
}
else if (this == obj)
{
equals = true;
}
else if (this.getClass() != obj.getClass())
{
equals = false;
}
else
{
InstanceBean o = (InstanceBean)obj;
RunningInstancesItemType instance1 = this.instanceInfo;
RunningInstancesItemType instance2 = o.getInstanceInfo();
if (null == instance1 || null == instance2)
{
equals = false;
}
else
{
if (null == instance1.getLaunchTime())
{
equals = false;
}
else
{
equals = instance1.getLaunchTime().equals(instance2.getLaunchTime());
}
}
}
return equals;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((null == this.getInstanceInfo() || null == this.getInstanceInfo().getLaunchTime()) ?
0 : this.getInstanceInfo().getLaunchTime().hashCode());
return result;
}
2.也可以使用TreesSet实现
SortedSet<T> sortedSet = new TreeSet<T>();
List<T> instanceList;
sortedSet.add(***);//此处*为T的实例化
instanceList = new ArrayList<T>(sortedSet);
分享到:
相关推荐
在实际项目中,你可能还需要考虑多列排序、动态添加数据时的排序等问题,这需要你根据具体需求进行扩展和优化。同时,为了保证代码的可读性和维护性,建议将比较函数和数据结构定义在单独的类或模块中,以便于管理和...
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 List 中排序,无疑会提高...
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性...通过学习和实践这部分内容,开发者可以提升处理数据排序问题的能力,提高代码质量。
* 对传入的list进行分组排序 * list里面数据格式 [01-01-开头.txt, 01-02-简介.jpg, 11-01-尾声.jpg, 11-03-空白.jpg, 11-04-空白2.jpg, 11-06-空白1.jpg, 11-02-答谢语.txt, 02-01-标题.jpg, 02-09-标题555.jpg, ...
然而,在尝试使用`Sort()`方法对`List<Student>`进行排序时,会遇到问题。这是因为`Sort()`方法默认使用元素的自然顺序进行排序,但我们的`Student`类并没有实现`IComparable<T>`接口,因此无法确定两个`Student`...
当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行排序。本文将深入探讨`Collections.sort()`的使用、原理以及如何自定义排序规则...
JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。
导入jar 包 调用 String[] arr1 = new String[1]; ... 参数1 排序的集合 参数2 排序的字段(与定义字段一致) 可多个 参数3 排序方式(asc desc) 暂时只支持String 和int的排序 可能有些BUG 敬请谅解
本教程主要针对"ListControl排序"这一主题进行详细阐述,帮助开发者理解如何在MFC环境下实现ListControl的排序功能。 首先,`ListControlSort.aps`、`ListControlSort.clw`、`ListControlSortDlg.cpp`、`...
`DynamicOrderBy`函数接受一个`List<T>`和一个字段名数组,然后通过`BuildOrderByExpression`构建一个表示排序规则的Lambda表达式。`BuildOrderByExpression`使用`Expression.Property`来逐个获取指定的字段,并通过...
List对象排序通用方法List对象排序通用方法List对象排序通用方法List对象排序通用方法
在Java编程中,"list集合树状排序"是一种常见的需求,特别是在处理前端展示的数据时,如使用jQuery的treetable插件。这个场景通常涉及到数据结构的组织和排序,以便前端能够按照树形结构正确地展示层级关系。下面将...
总的来说,C#中对list列表进行随机排序的方法主要依赖于随机数生成器,通过生成随机索引并插入元素,可以轻松实现列表的随机化。这种技巧在各种场景中都很有用,比如模拟随机事件、游戏中的随机生成等。希望这个方法...
5. **异常处理**:可能包含错误处理代码,以处理排序过程中可能出现的问题。 通过学习和理解这个“ListCtrl控件排序类及演示程序”,开发者可以更好地掌握在Windows应用程序中实现ListView数据排序的技巧,提高用户...
本项目是一个关于`List Control`排序功能的示例,包含了一个带有排序指示三角形的实现。这个示例旨在帮助开发者理解和应用`List Control`的排序功能。 `List Control`,在MFC中通常通过`CListCtrl`类来操作,允许...
Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据时间顺序排列的List合并成一...
本文将深入探讨如何使用 `Collections` 类对 List 进行排序操作。 首先,让我们了解 `List` 排序的基本概念。在 Java 中,`List` 是接口,它继承了 `Collection` 接口,并添加了顺序相关的操作。常见的 `List` 实现...
为了解决这一问题,可以设计一个通用的工具类来实现基于对象属性的排序功能,无需在实体类中重写排序方法,从而提高开发效率。 #### 二、核心概念与技术 1. **Comparator**:是Java中用于比较两个对象的接口,通过...
【Listctrl 排序详解】 在Windows编程中,MFC(Microsoft Foundation Classes)库提供了一个名为CListCtrl的类,用于创建和管理列表视图控件。本文将深入讲解如何在VS2010中使用CListCtrl进行排序操作。 在...