我有一个名为SomeClass的类,它有两个属性:SomeDateObject和SomeClass2列表。我想在SomeDateObject的基础上对SomeClass对象的给定列表进行排序。通过手段想要排序
public List<SomeClass > someClassList
如何基于SomeDateObject实现排序
SomeClass的结构如下:
public class SomeClass {
public SomeDateObject date;
public List<SomeClass2> some2;
public SomeClass () {
}
}
SomeDateObject的结构如下所示
public class SomeDateObject {
public int day;
public int month;
public int year;
}
什么是基于SomeDateObjects对SomeClass对象列表进行排序的最佳方法。因为我们可以使用比较器和可比对象,但SomeDateObject不是一个直接的日期,但具有日期详细信息。我们可以使用guava-libraries而不是使用直接比较器。
答案 0 :(得分:3)
您可以Collections.sort
使用Comparator
这样的
Collections.sort(SomeClassList, new Comparator<T>() {
\\ T is a type parameter, you need to pass type argument here
@Override
public int compare(T lhs, T rhs) {
return lhs.compareTo(rhs);
}
});