正常情况下集合中封装的是某种类型的数据对象,那怎样对这个集合进行排序呢?下面来看看这一小段代码:
解释说明:
dsList: 是一个List集合
TestVO:是集合中的数据对象的类型,即泛型
ds1:TestVO的一个对象
ds2:TestVO 的一个对象
compartor:源码的解释很简单: 就是一个比较大小,返回正负零。/** Compares its two arguments for order. Returns a negative integer,zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
在匿名类里重写父类的方法compare,返回两个对象属性的比较值
我们跟踪Collections.sort的源码可以知道,Arrays的mergeSort方法调用了compare方法,这样根据判断大小来返回重新排序的list集合。
正常情况下集合中封装的是某种类型的数据对象,那怎样对这个集合进行排序呢?下面来看看这一小段代码:
Collections.sort(dsList, new Comparator<TestVO>() {
public int compare(TestVO ds1,TestVO ds2) {
return ds1.getName().compareTo(ds2.getName());
}
});
解释说明:
dsList: 是一个List集合
TestVO:是集合中的数据对象的类型,即泛型
ds1:TestVO的一个对象
ds2:TestVO 的一个对象
compartor:源码的解释很简单: 就是一个比较大小,返回正负零。/** Compares its two arguments for order. Returns a negative integer,zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
在匿名类里重写父类的方法compare,返回两个对象属性的比较值
我们跟踪Collections.sort的源码可以知道,Arrays的mergeSort方法调用了compare方法,这样根据判断大小来返回重新排序的list集合。
正常情况下集合中封装的是某种类型的数据对象,那怎样对这个集合进行排序呢?下面来看看这一小段代码: