2019.10.31
1.学生名单排序


```java
import java.util.*;
import java.io.*;public class proA {public static void main(String[] args) {Scanner cin=new Scanner(System.in);ArrayList<Student> list = new ArrayList<Student>();while(cin.hasNext()) {long t1=cin.nextLong();String t2=cin.next();String t3=cin.next();list.add(new Student(t1,t2,t3));}Collections.sort(list);for(int i=0;i<list.size();i++) {System.out.println(list.get(i));} }
}
class Student implements Comparable<Student>{private long num;private String name;private String xing;public Student(long num, String name, String xing) {super();this.num = num;this.name = name;this.xing = xing;}public long getNum() {return num;}public void setNum(long num) {this.num = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getXing() {return xing;}public void setXing(String xing) {this.xing = xing;}public int compareTo(Student o) {return (int) (this.num-o.num);}@Overridepublic String toString() {return  num+" "+name+xing;}}

这边刚开始没有写Student的toString(),导致输出结果如下图:

加上toString()后,输出正确:

2.comparable接口
可借鉴资料:
Java 中 Comparable 接口的意义和用法.
自定义类中Comparable接口的实现:

class Student implements Comparable{String id;String familyName;String givenName;public int compareTo(Object o) {Student s=(Student)o;return this.id.compareTo(s.id);  //如果是id是long的话,那么可以return this.id-s.id}
}
class Student implements Comparable<Student>{String id;String familyName;String givenName;public int compareTo(Student o) {return this.id.compareTo(o.id);  //如果是id是long的话,那么可以return this.id-s.id}
}

Java 学生名单排序 comparable接口相关推荐

  1. Java 对象排序 Comparable接口和比较器Comparator的使用

    我这里使用的是Treeset存储的学生信息,定义了学生类,对学生信息进行一个排序: 方法一 对象排序的的方法是,让元素所属类实现 Comparable 接口 ,重写 comparaTo(To) 方法 ...

  2. Java学生成绩排序输出的三种不同方法

    要实现学生成绩的排序,要从两方面来考虑如何设计程序. 第一方面是选择存储方式 第二方面是选择什么样的排序方式 以下是三种不同类型的实现: 使用对象数组存储学生信息,冒泡法实现排序 使用List存储学生 ...

  3. 排序-Comparable接口

    给student对象排序: package com.example.suanfademo.sort; //1.定义一个学生类student,具有年龄age和姓名username两个属性,并通过Comp ...

  4. java 学生成绩排序

    编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中. 程序运行效果如图: import java.awt.BorderLayout; i ...

  5. [Java基础]自然排序Comparable的使用

    代码如下: package ComparablePack;public class Student implements Comparable<Student>{private Strin ...

  6. 数据结构java学生成绩排序_数据结构学习--Java简单排序

    冒泡排序需要元素每次遍历都从最底部向上冒泡,找到适合的位置后,该位置之后的元素继续向上冒,这样一趟排序结束后,将冒出最大或者最小值. 选择排序需要元素从0号位开始向上遍历一遍,并将最小值放到0号位上, ...

  7. Java 中类的比较与排序方法(应用Comparable接口与Comparator接口)通俗易懂

    引言 在平时写Java的程序的时候,如果要进行一些基本类型的变量的比较,可以很方便得调用Math.max().Math.min()等方法,如果要对数组或者列表进行排序,也可以用Arrays.sort( ...

  8. Java基础之Comparable接口和Comparator接口的比较

    前言 就是普普通通的写这么一篇文章,java集合类估计java程序猿都知道,那就写一点小众的. 在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那 ...

  9. Java运用自身排序算法将数组或容器进行随机打乱。

    基本思路:数组调用Arrays.sort(T[] a,Comparator<? super T> c),对Comparator进行重写.运用Random类 ,实现对数字的随机排序. 对数字 ...

最新文章

  1. 8种最坑的SQL错误用法,第一个就很坑?
  2. python向字典中添加值
  3. 每日问题记录20171117
  4. IOS开发学习记录第3天之C语言学习
  5. 将VMware Workstation 12 Pro的虚拟网卡修改为自己希望的IP网段
  6. 【php】命名空间 和 自动加载的关系
  7. 分布式机器学习框架:CXXNet
  8. Excel 用于批量把单元格设置为文本格式保存的数字的宏
  9. ORA-23616:执行块5失败
  10. 腐蚀rust研究台抽奖_中石化青岛安工院专家分享延迟焦化装置的腐蚀风险分析!...
  11. iOS视图控制器之间delegate传值教程
  12. MongoDB,无模式文档型数据库简介
  13. FluorineFx:远程共享对象(Remote SharedObjects)
  14. 《认知盈余》核心摘要——“人们实际上很喜欢创造并分享”: 参与是一种行为
  15. 【干货】JavaScript 资源大全
  16. webpack-theme-color-replacer动态修改Ant Design Vue主题色
  17. npm报错 443(error : getaddrinfo enotfound registry.npmjs.org registry.npmjs.org:443)
  18. (40)STM32——OV2640摄像头实验
  19. 试编程判断输入的正整数是否既是5又是7的整数倍,若是输出“yes”,否则输出“no”。
  20. python中什么的布尔值不是false_不是python中的布尔值

热门文章

  1. WebGIS前端框架(openlayers,mapbox,leaflet)图形图像底层渲染原理分析
  2. 用PS做手机计算机,功能与电脑ps相媲美的手机画画软件
  3. 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 HDU - 2191(特殊01背包)
  4. mysql java配置文件_Mysql配置文件参数优化
  5. Oracle 11g如何清理数据库的历史日志详解
  6. (数据结构)1.实现顺序栈的各种基本运算 2.实现环形队列的各种基本运算
  7. 【文献阅读】Pre-Training With Whole Word Masking for Chinese BERT
  8. C++学习笔记——安装visual studio 2013
  9. RK3288[android 7.1]调试笔记 修改默认时区是北京时间
  10. 劳易测BCB G40 H47 L030 - 条码带