import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ChineseSort {
public static void main(String[] args) {
List<Cat> listCat = new ArrayList<Cat>();
listCat.add(new Cat(34, "J109张三"));
listCat.add(new Cat(12, "J101李四"));
listCat.add(new Cat(23, "J102王五"));
listCat.add(new Cat(13, "J110刘六"));
listCat.add(new Cat(13, "J105赵七"));
listCat.add(new Cat(13, "J129赵七"));
listCat.add(new Cat(13, "Ⅲ七"));
listCat.add(new Cat(13, "Ⅱ赵七"));
listCat.add(new Cat(13, "Ⅰ赵七"));
listCat.add(new Cat(13, "Ⅳ、赵七"));
listCat.add(new Cat(13, "Ⅶ、赵七"));
listCat.add(new Cat(13, "Ⅵ、赵七"));
listCat.add(new Cat(13, "Ⅴ、赵七"));
System.out.println(listCat.toString());
Collections.sort(listCat);
System.out.println(listCat.toString());
}
}
class Cat implements Comparable<Cat> {
Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
public int compareTo(Cat o) {
return cmp.compare(this.getName(), o.getName());
}
private int age;
private String name;
public Cat(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
return "Cat{" + "age=" + age + ", name='" + name + '\'' + '}';
}
}
[Cat{age=34, name='J109张三'}, Cat{age=12, name='J101李四'}, Cat{age=23, name='J102王五'}, Cat{age=13, name='J110刘六'}, Cat{age=13, name='J105赵七'}, Cat{age=13, name='J129赵七'}, Cat{age=13, name='Ⅲ七'}, Cat{age=13, name='Ⅱ赵七'}, Cat{age=13,
name='Ⅰ赵七'}, Cat{age=13, name='Ⅳ、赵七'}, Cat{age=13, name='Ⅶ、赵七'}, Cat{age=13, name='Ⅵ、赵七'}, Cat{age=13, name='Ⅴ、赵七'}][Cat{age=12, name='J101李四'}, Cat{age=23, name='J102王五'}, Cat{age=13, name='J105赵七'}, Cat{age=34, name='J109张三'}, Cat{age=13, name='J110刘六'}, Cat{age=13, name='J129赵七'}, Cat{age=13, name='Ⅰ赵七'}, Cat{age=13, name='Ⅱ赵七'}, Cat{age=13, name='Ⅲ七'}, Cat{age=13, name='Ⅳ、赵七'}, Cat{age=13, name='Ⅴ、赵七'}, Cat{age=13, name='Ⅵ、赵七'}, Cat{age=13, name='Ⅶ、赵七'}]