Java中按中文名称排序集合

先实现中文排序规则的Comparator

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;
		}
		
	}


然后在相应方法中对需排序的Collection实现类调用:
List list = new ArrayList();
......
Collections.sort(list, new ChinaWordCompartor());

你可能感兴趣的:(java)