一、这里主要讲解的是对象排序(按某个属性或某种规则)
首先要明白,TreeSet为什么能实现自然排序?是怎么实现的?它怎么知道谁该排在前面,谁该排在后面?引用类型排序有什么样的要求?
这里我就直接一点写了。
1.TreeSet排序引用类型,需要引用类型
TreeSet 要实现自然排序,或者说它是怎么实现自然排序的,主要还是因为,TreeSet 排序引用类型时时通过compareTo方法的返回值来判断顺序先后的。
2.具体操作:
① 将要排序的对象的类实现comparable接口,并实现compareTo方法
② 在compareTo方法中比较当前对象this.对象属性 与 传递对象的对象数据,并返回
二 、中文排序
Collections.sort(values, new Comparator<String>() { // values是List<String> 中文字符串
@Override
public int compare(String s, String t1) {
Comparator<Object> compare = Collator.getInstance(java.util.Locale.CHINA);
if (compare.compare(s, t1) < 0)
return -1;
else if (compare.compare(s, t1) > 0)
return 1;
else
return 0;
}
});