第一种情况:
- comparator cmp = collator.getinstance(java.util.locale.china);
- string[] arr = { "张三", "李四", "王五", "刘六" };
- arrays.sort(arr, cmp);
- for (int i = 0; i < arr.length; i++)
- system.out.println(arr[i]);
第二种情况:
//comparablebean.java
import java.text.collationkey;
import java.text.collator;
import java.text.rulebasedcollator;
import java.util.comparator;
public class comparablebean{
private string name;
public comparablebean(string name) {
this.name = name;
}
public string getname() {
return name;
}
public void setname(string name) {
this.name = name;
}
}
class comparablebeancomparator implements comparator//
{
rulebasedcollator collator; // you can set your rules for the instance "collator"
public comparablebeancomparator()
{
collator = (rulebasedcollator)collator.getinstance(java.util.locale.china);// try testing various locales
}
public int compare(object obj1, object obj2) {
string tempname1 = ((comparablebean) obj1).getname();
string tempname2 = ((comparablebean) obj2).getname();
collationkey c1 = collator.getcollationkey(tempname1);
collationkey c2 = collator.getcollationkey(tempname2);
// return collator.compare(((collationkey) c1).getsourcestring(),
// ((collationkey) c2).getsourcestring());
return collator.compare(((collationkey) c2).getsourcestring(),
((collationkey) c1).getsourcestring());
}
// public int compare(comparablebean obj1, comparablebean obj2) {
// string tempname1 = obj1.getname();
// string tempname2 = obj2.getname();
//
// collationkey c1 = collator.getcollationkey(tempname1);
// collationkey c2 = collator.getcollationkey(tempname2);
// return collator.compare(((collationkey) c1).getsourcestring(),
// ((collationkey) c2).getsourcestring());
// }
}
//the end of comparablebean.java
测试代码:
comparablebean[] namecontent = { new comparablebean("一切从实际出发"),
new comparablebean("立于不败之地"), new comparablebean("多项式"),
new comparablebean("贯彻落实"), new comparablebean("密切联系群众"),
new comparablebean("四项基本原则"), new comparablebean("咬牙切齿"),
new comparablebean("恭恭敬敬"), new comparablebean("民警"),
new comparablebean("经营承包责任制") };
arrays.sort(namecontent,new comparablebeancomparator());
for (int i = 0; i < namecontent.length; i++) {
system.out.println(namecontent[i].getname());
}
闽公网安备 35060202000074号