[b]先实现中文排序规则的Comparator[/b]
[b]然后在相应方法中对需排序的Collection实现类调用:[/b]
[code]
List list = new ArrayList();
......
Collections.sort(list, new ChinaWordCompartor());
[/code]
import java.text.Collator;
import java.text.RuleBasedCollator;
import java.util.Comparator;
import java.util.Locale;
class ChinaWordCompartor implements Comparator {
RuleBasedCollator collator;
public ChinaWordCompartor(){
collator = (RuleBasedCollator) Collator.getInstance(Locale.CHINA);
}
public int compare(Object p1, Object p2) {
return
collator.compare(((Foo)p1).getName(),((Foo)p2).getName()) < 0 ? -1 : 1;
}
}
[b]然后在相应方法中对需排序的Collection实现类调用:[/b]
[code]
List list = new ArrayList();
......
Collections.sort(list, new ChinaWordCompartor());
[/code]
本文介绍了一种使用Java实现中文排序的方法。通过创建自定义的Comparator类ChinaWordComparator,利用RuleBasedCollator对中文字符串进行排序。该方法适用于需按中文顺序排列的列表,通过Collections.sort方法结合自定义Comparator实现。
488

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



