实现按字母表排序的Comparator

	/**
	 * 按字母表对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());
		}

	}

阅读更多
文章标签: class java 语言 c
个人分类: java
上一篇使用onCreateDialog创建Dialog,并且动态修改Dialog的信息
下一篇android AlertDialog类
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭