英文姓名排序小程序
2013-09-28 17:47
162 查看
为了练习Comparable接口,实现其compareTo方法,从而为英文姓名进行排序
这里一个姓名类,有成员变量firstName和lastName,都是String类型。这个姓名类需要实现Comparable接口,从而实现排序。
附代码:
运行结果图:
注:第一行是未排序前,第二行是排序后。
这里一个姓名类,有成员变量firstName和lastName,都是String类型。这个姓名类需要实现Comparable接口,从而实现排序。
附代码:
package compare; //英文姓名排序、通过实现Comparable接口实现compareTo方法来对饮用对象排序 import java.util.*; public class TestSort { public static void main(String[] args) { List<Name> list = new ArrayList<Name>(); list.add(new Name("j","J")); list.add(new Name("d","D")); list.add(new Name("b","B")); list.add(new Name("c","A")); list.add(new Name("a","A")); list.add(new Name("i","I")); list.add(new Name("f","F")); list.add(new Name("g","G")); list.add(new Name("h","G")); System.out.print(list); Collections.sort(list); System.out.println(); System.out.print(list); } } class Name implements Comparable<Name> { private String firstName; private String lastName; Name(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public void setFirstName(String firstName) { this.firstName = firstName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getFirstName() { return this.firstName; } public String getLastName() { return this.lastName; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append("[").append(this.lastName).append(" ").append(this.firstName).append("]"); return sb.toString(); } public int compareTo(Name n) { // 如果lastName不一样,比较当前对象和传进来对象的lastName的各个字母 // 如果lastName一样,那么比较firstName // 如果lastName和firstName都 一样,表示名字一样,返回0 if(lastName.compareTo(n.lastName) > 0) { return 1; } else if(lastName.compareTo(n.lastName) < 0) { return -1; }else { return firstName.compareTo(n.firstName); } } }
运行结果图:
注:第一行是未排序前,第二行是排序后。
相关文章推荐
- lesson 9:编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中
- 2 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。 程序运行效果如图:
- Java集合框架上机练习题(泛型、JFrame)用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。 程序运行效果如图:
- 找到launcher上面的程序并进行名字的排序(中文跟英文)
- python 小程序,按照姓名或成绩排序(sorted用法)
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- 排序程序总结
- PAT程序设计考题——甲级1005 数字按位累加(非负数字按位累加和转化成对应英文单词)
- 中文程序移植到win2003 64位英文
- 选择排序函数的计时程序
- 解决iOS英文环境下中文联系人排序问题
- 最大堆的插入/删除/调整/排序操作(图解+程序)(JAVA)
- 正则表达式-中文姓名带·,英文名字加空格
- [编写高质量代码:改善java程序的151个建议]建议73 使用Comparator进行排序
- 关于三色球的一个排序程序(面试题)
- Spark基于排序机制的wordcount程序(Java版)
- 快速排序pascal程序