实现按字母表排序的Comparator

原创 2012年03月26日 10:41:59
	/**
	 * 按字母表对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());
		}

	}

相关文章推荐

TreeMap Comparator按照首字母排序

/** * @Modified by FANGYUKANG * @Description 查询配件类型列表 * @return {@link JsonView} * * URL ...

Comparator字母排序

public class ManufacturerSort implements Comparator { // java提供的对照器 private RuleBasedCollato...

java对于汉字的首字母排序,遇到生僻字时,不要使用Collator.getInstance(java.util.Locale.CHINESE),而要用com.ibm.icu.util.ULocale

1.对于数组的排序方法如下: String[] names = {"王林",  "杨宝", "李镇", "刘迪", "刘波"};   Arrays.sort(names, com.ibm.icu.t...

java中实现根据中文首字母排序

java中实现根据中文首字母排序demo

java实现中文汉字按首字母排序

要实现汉字按首字母排序,主要是设置语言环境,如下语句设置语言环境: 这里用到了Collator类,此类实现了Comparator接口,用他的getInstance就可以用指定的语言环境来构造...

Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音

前段时间因为换工作的缘故又恰巧碰到国庆节,所以有段时间自己没有更新博客了,过完国庆到新公司报道,感觉还不错,就是现在住的地方离新公司有点远,地铁20站,伤不起啊,我每天早上7点多就要起床,然后屁颠屁颠...

中英文及数字混合排序

当我们显示一个列表时往往因为中文英

程序实现时间排序Comparator

  • 2012年09月21日 15:10
  • 33KB
  • 下载

通过枚举控制比较TreeSet内容排序(实现接口comparator);随机生成一个汉字

随机生成一个汉字 /** * 随机生成一个汉字 * @return * @throws UnsupportedEncodingException */ public static Stri...

TreeSet的排序两种实现方式Comparator和Comparable

TreeSet 条件 类型一样 设计到排序 comparable是自然(可以修改类的情况下) comparator是定制(不可以修改类的情况下)优先级更高  使用说明: 一般采用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现按字母表排序的Comparator
举报原因:
原因补充:

(最多只允许输入30个字)