针对User实体中的姓名按拼音排序

        

import java.text.Collator;
import java.util.Comparator;
import java.util.Locale;
import java.util.Set;
import java.util.TreeSet;

public class User implements Comparable<User>{
	private String name;
	private int age;

	User(String name, int age) {
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return this.name;
	}

	public int getAge() {
		return this.age;
	}
	@Override
	public int compareTo(User other) {
		if (other == null) {
			return 1;
		}
		Comparator comparator = Collator.getInstance(Locale.CHINA);
		return comparator.compare(name, other.getName());
	}
}

接下来测试下:

public static void main(String[] args) {
	User user01 = new User("阿三", 18);
	User user02 = new User("段蕾", 19);
	User user03 = new User("长江", 11);
	User user04 = new User("版主", 25);

	Set<User> set = new TreeSet<User>();

	set.add(user01);
	set.add(user02);
	set.add(user03);
	set.add(user04);
	for (User user : set) {
		System.out.print(user.getName() + "---");
	}
}

 

输出结果如下:
阿三---版主---长江---段蕾---
评论
lanmengdie 2008-05-29
谢谢楼主,学习中
ftw118 2008-03-14
谢谢楼主,刚好需要。
magibt 2008-03-14
很好,Collator还没用过
jamjar 2008-03-14
原来还能这样,学习了,谢谢博主
hrtc 2008-03-14
不错,学到了
发表评论

您还没有登录,请登录后发表评论

LEICHAO
搜索本博客
我的相册
A685826d-c23b-32fa-ad99-59caf41ba18a-thumb
prototype_ajax
共 2 张
存档
最新评论