当我们取数据时, 有时候需要对某个字段或者多个字段进行排序,
那么该怎么实现呢?
首先从数据库取数据可以在sql里面直接 order by col
多个字段直接 order by col1 , col2
例如:
select * from user order by age
假如取出数据后又会对数据重新处理导致排序失效, 那么可以在代码里再一次进行排序
我们可以使用list.sort()
myList.sort(new Comparator<A>() {
@Override
public int compare(A o1, A o2) {
return o1.getName().compareTo(o2.getName());
}
});
之前遇到一个小问题, 假如name 字段包含中文和英文, 需要实现英文按字母顺序, 中文也按首拼音的字母顺序 排列
上面的代码无法实现
需要用到处理中文的排序方式
Comparator comparator= Collator.getInstance(java.util.Locale.CHINA);
myList.sort(new Comparator<A>() {
@Override
public int compare(A o1, A o2) {
return comparator.compare(o1.getName(),o2.getName());
}
});
这篇博客探讨了如何在数据库查询时通过SQL进行字段排序,并在代码处理后再次进行排序。当涉及到中文字段时,使用Java的Collator进行中文拼音排序。示例代码展示了如何利用Collator实例处理中文姓名的排序问题。
1323

被折叠的 条评论
为什么被折叠?



