点击查看:2015计算机等级考试二级Java入门教程章节汇总
点击查看:2015计算机等级考试二级Java入门教程第十章汇总
10.5 使用Vector集合 排序
从最后一个例子的输出显示出你输入的次序。如果想要符合实际,比如说,在明星表的创建中,我们应该按字母序安排表。我们可以编写自己的方法为Crowd对象中的person对象排序,但在利用java.util包的另一个特点时会有许多小麻烦,Collections类-不能与Colleetion接口混淆。Collectictions类定义了各种简便的静态方法使你可以在集合中使用,其中之一是sort()方法。
sort()方法只对表排序。也就是说只对实现List接口的集合排序。明显地,对于Sort()与法也有某种方法决定待排表的对象的次序,在我们这种情况下是Person()对象。对Person对象排序最适合的方法是实现这个类的Comparable接口。Comparable接口只声明了CompareTo()一个方法。在string类中我们见过这种方法,因此你知道依据当前对象是小于。等于或大于传给方法的白变量决定返回一1, 0或+1.如果Comparablc接口在类中实现了,我们只需向sort()方法传递集合对象作自变量。集合拌好序,没有返回值。
我们可以为我们的Person类极容易地实现Comparable接口,如下:
public class Person implements Comparable
{
this.firstName=firstName;
this.surname=surname;
}
public string tostring()
( return firstName+ " " +surname
//compare person objects
public int compareTo(object person)
{
int result=surname.compareTo(((person)person).surname);
return result==0?firstName.compareTo(((person)person).firstName):result;
}
private string fireName; //Firs name of person
private string surrame; //second name of person
}
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |