关闭

实现按字母表排序的Comparator

标签: classjava语言c
2861人阅读 评论(0) 收藏 举报
分类:
	/**
	 * 按字母表对Collection列表进行排序
	 * */
	public class AlphabetComparator implements Comparator<AlphabetEntry> {

		// java提供的对照器
		private RuleBasedCollator collator = null;

		/**
		 * 默认构造器是按中文字母表进行排序
		 * */
		public AlphabetComparator() {
			collator = (RuleBasedCollator) Collator
					.getInstance(java.util.Locale.CHINA);
		}

		/**
		 * 可以通过传入Locale值实现按不同语言进行排序
		 * */
		public AlphabetComparator(Locale locale) {
			collator = (RuleBasedCollator) Collator.getInstance(locale);
		}

		public int compare(AlphabetEntry obj1, AlphabetEntry obj2) {
			CollationKey c1 = collator.getCollationKey(obj1.getName());
			CollationKey c2 = collator.getCollationKey(obj2.getName());

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

	}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:535402次
    • 积分:6109
    • 等级:
    • 排名:第4252名
    • 原创:100篇
    • 转载:19篇
    • 译文:10篇
    • 评论:95条
    最新评论