求大神帮忙Java排序

十2。 2019-02-22 04:07:10
使用java 将学生列表信息按照成绩进行排序
1 张三 18 男 88 1385551
2 李四 19 男 66 1385554
3 王五 20 女 87 1385557
4 赵六 18 男 98 1385558
5 周七 19 女 99 1385559
6 马八 18 男 88 1385550
...全文
374 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
冒泡排序,小的把集合索引后移,倒序反过来
mr_foxsand 2019-03-09
  • 打赏
  • 举报
回复
作为一个程序猿,能偷懒就偷懒,SQL一行代码就搞定的问题! select 姓名 , 年龄 , 性别 , 成绩 from 表 order by 成绩 [desc]
Nick-_-Song 2019-03-03
  • 打赏
  • 举报
回复
定义学生类实体,重写compare方法对对象进行排序
常威打来福 2019-02-27
  • 打赏
  • 举报
回复
引用 1 楼 咸哼酒家 的回复:
从数据库查询就order by 集合用J8的lambda
简单明了
liuzhou127 2019-02-23
  • 打赏
  • 举报
回复
难道不是直接数据库order by吗,好吧,java的话可以这样: 定义一个实现比较器的Student实体类: public class Student implements Comparable<Student> { private String name; private int age; private String sex; private int score; private int number; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } @Override public int compareTo(Student obj) { int result = 0; int score1 = this.getScore(); int score2 = obj.getScore(); if(score1 > score2) { result = 1; } else if(score1 < score2) { result = -1; } return result; } } 调用Collections.sort: public class CompareTest { public static void main(String[] args) { Student s1 = new Student(); s1.setName("张三"); s1.setScore(88); Student s2 = new Student(); s2.setName("李四"); s2.setScore(66); Student s3 = new Student(); s3.setName("王五"); s3.setScore(87); Student s4 = new Student(); s4.setName("赵六"); s4.setScore(98); Student s5 = new Student(); s5.setName("周七"); s5.setScore(99); Student s6 = new Student(); s6.setName("马八"); s6.setScore(88); List<Student> dataList = new ArrayList<>(); dataList.add(s1); dataList.add(s2); dataList.add(s3); dataList.add(s4); dataList.add(s5); dataList.add(s6); Collections.sort(dataList); System.out.println("排序后:"); for(Student s : dataList) { System.out.println(s.getName() + ": " + s.getScore()); } } }
烟枪不老 2019-02-23
  • 打赏
  • 举报
回复
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * 学生类 */ public class Student { private String name;//姓名 private int age;//年龄 private char gender;//性别 private int score;//成绩 private int stuID;//学号 @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", gender=" + gender + ", score=" + score + ", stuID=" + stuID + '}'; } public Student(String name, int age, char gender, int score, int stuID) { this.name = name; this.age = age; this.gender = gender; this.score = score; this.stuID = stuID; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void setGender(char gender) { this.gender = gender; } public void setScore(int score) { this.score = score; } public void setStuID(int stuID) { this.stuID = stuID; } public String getName() { return name; } public int getAge() { return age; } public char getGender() { return gender; } public int getScore() { return score; } public int getStuID() { return stuID; } //程序主方法(程序的入口) public static void main(String[] args) { ArrayList<Student> stuList=new ArrayList<Student>(); Student stu1=new Student("张三",18,'男',88,1385551); Student stu2=new Student("李四",19,'男',66,1385554); Student stu3=new Student("王五",20,'女',87,1385557); Student stu4=new Student("赵六",18,'男',98,1385558); Student stu5=new Student("周七",19,'女',99,1385559); Student stu6=new Student("马八",18,'男',88,1385550); stuList.add(stu1); stuList.add(stu2); stuList.add(stu3); stuList.add(stu4); stuList.add(stu5); stuList.add(stu6); Collections.sort(stuList, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { if(o1.score>o2.score){ return 1; }else{ return -1; } } }); for(Student stu:stuList){ System.out.println(stu); } } }
十2。 2019-02-22
  • 打赏
  • 举报
回复
能不能直接给我一个代码实现
weixin_40981213 2019-02-22
  • 打赏
  • 举报
回复
一种最简单的 就是查询数据库数据的时候对数据进行排序
oracle为例: select * from 表 Order by 成绩字段
java的排序,有很多种,可以使用冒泡排序,等等,这个百度一下有很详细,我就不做说明了。
十2。 2019-02-22
  • 打赏
  • 举报
回复
引用 1 楼 咸哼酒家的回复:
从数据库查询就order by
集合用J8的lambda
啥意思,看不懂呀,能不能说的明白一丢丢
咸哼酒家 2019-02-22
  • 打赏
  • 举报
回复
从数据库查询就order by
集合用J8的lambda

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧