在中文排序中发现不能正排序,这是字符国际化问题引起的,可以实现ComparaTor接口,使用CollaTor类来解决!
…
import java.text.CollaTor;public class CollaTorComparaTor implements ComparaTor{CollaTor collaTor = CollaTor.getInstance();public int compare(Object element1, Object element2){CollationKey key1 = collaTor.getCollationKey(element1.toString());CollationKey key2 = collaTor.getCollationKey(element2.toString());return key1.compareTo(key2);}}
运行:
TreeMap map = new TreeMap(new CollaTorComparaTor());map.put("1", "1");map.put("华", "华");map.put("花", "花");Collection col = map.values(); IteraTor it = col.iteraTor();while(it.hasNext()){System.out.println(it.next());}
知已知彼,百战百胜。