Android上中文排序

为了把获取的人名按照拼音顺排序,写了下面这个类

public class AlphabetComparator implements Comparator<String> {

	private RuleBasedCollator collator;

	public AlphabetComparator() {
		collator = (RuleBasedCollator) Collator
				.getInstance(java.util.Locale.CHINA);
	}

	@Override
	public int compare(String obj1, String obj2) {

		CollationKey c1 = collator.getCollationKey(obj1);
		CollationKey c2 = collator.getCollationKey(obj2);

		return collator.compare(((CollationKey) c1).getSourceString(),
				((CollationKey) c2).getSourceString());
	}
}


这个是升序,把c1和c2换一下就是降序了。

调用方法
AlphabetComparator cfc = new AlphabetComparator();
Collections.sort([需要排序的数据], cfc);

你可能感兴趣的:(android)