收藏 分享(赏)

Java笔试题 将集合中的学生信息按照学生的年龄升序排列.doc

上传人:精品资料 文档编号:9313056 上传时间:2019-08-01 格式:DOC 页数:4 大小:123.85KB
下载 相关 举报
Java笔试题 将集合中的学生信息按照学生的年龄升序排列.doc_第1页
第1页 / 共4页
Java笔试题 将集合中的学生信息按照学生的年龄升序排列.doc_第2页
第2页 / 共4页
Java笔试题 将集合中的学生信息按照学生的年龄升序排列.doc_第3页
第3页 / 共4页
Java笔试题 将集合中的学生信息按照学生的年龄升序排列.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、Java 笔试题 将集合中的学生信息按照学生的年龄升序排列使用了 2 种方式完成将集合中学生信息按照年龄升序排序的操作。当然,完成对集合中元素排序的操作会有很多方法,这里只是给出 2 种参考方法,希望会对大家有所帮助和启示。作者:秦婧|2017-01-16 13:45收藏分享最近很多学员在参加笔试时都被问到集合中排序的问题,在新年的第一篇文章中给大家分享一下相关内容。“将集合中的学生信息按照学生的年龄升序排列”这个题目主要考察的是求职者对集合中元素存取以及元素值比较的方法、排序方法(一般使用冒泡排序 )、泛型集合、集合中自带的 sort 方法、集合中比较器的应用等。下面分别使用冒泡排序和 So

2、rt 完成题目的要求。无论使用哪种方法都需要先创建学生信息类,通常会要求在类中存放学号、年龄、姓名等属性。学生信息类的代码如下所示。1. class Student 2. private int id; 3. private String name; 4. private int age; 5. public Student(int id, String name, int age) 6. this.id = id; 7. this.name = name; 8. this.age = age; 9. 10. public int getId() 11. return id; 12. 13.

3、public void setId(int id) 14. this.id = id; 15. 16. public String getName() 17. return name; 18. 19. public void setName(String name) 20. this.name = name; 21. 22. public int getAge() 23. return age; 24. 25. public void setAge(int age) 26. this.age = age; 27. 28. Override 29. public String toString(

4、) 30. return “Student id=“ + id + “, name=“ + name + “, age=“ + age + “; 31. 32. (1)使用冒泡排序算法由于题目要求是按照学生的年龄排序,因此,在遍历集合元素时要根据年龄进行比较,并交换集合中相应元素的值。实现的代码如下所示。1. public class TestStudent 2. 3. public static void main(String args) 4. / TODO Auto-generated method stub 5. List list = new ArrayList(); 6. list

5、.add(new Student(1,“小张“ ,20); 7. list.add(new Student(2,“小王“,18); 8. list.add(new Student(3,“小李“,19); 9. /使用冒泡排序算法 10. for(int i=0;ilist.get(j+1).getAge() 13. Student student=list.get(j); 14. list.set(j, list.get(j+1); 15. list.set(j+1, student); 16. 17. 18. 19. for(Student stu:list) 20. System.out.

6、println(stu); 21. 22. 23. 执行上面的代码,效果如图 1 所示。图 1 排序后的结果(2)使用比较器实现在 List 集合中提供了 sort 方法能直接对集合中的元素实现冒泡排序,但由于在集合中存放的值是类的实例,而不是单纯的值,因此,需要借助集合中的比较器来实现对学生信息类的年龄排序。使用比较器可以通过实现 Comparator 接口或者实现 Comparable 接口来完成,实现 Comparator 接口时,通常是自定义一个类来完成,并重写 compare 方法; 实现 Comparable 接口时,通常是直接用到要比较的类中,并重写 compareTo 方法,比

7、如,要比较学生信息类中的年龄属性值,直接在学生信息类中实现 Comparable 接口即可。在本例中采用的方式是实现 Comparator 接口的方式,自定义一个名为MyCompare 的类,代码如下所示。1. public class TestStudent 2. public static void main(String args) 3. / TODO Auto-generated method stub 4. List list = new ArrayList(); 5. list.add(new Student(1,“小张“,20); 6. list.add(new Student(

8、2,“小王“,18); 7. list.add(new Student(3,“小李“,19); 8. Collections.sort(list,new MyCompare(); /使用比较器 9. for(Student stu:list) 10. System.out.println(stu); 11. 12. 13. 执行上面的代码,效果与图 1 一致。至此,使用了 2 种方式完成将集合中学生信息按照年龄升序排序的操作。当然,完成对集合中元素排序的操作会有很多方法,这里只是给出 2 种参考方法,希望会对大家有所帮助和启示。【编辑推荐】1. JavaScript 与 PHP 到底有何不同?2. 9 款极佳的 JavaScript 移动应用程序开发框架3. Java 9 的这一基本功能,你可能从未听过4. 2016 最流行的 Java EE 服务器5. Java 开发者需要了解的移动开发编程语言

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报