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. java 提取内容并排序
  2. 移动端前端常见的触摸相关事件touch、tap、swipe等整理
  3. php 生成css文件怎么打开,php生成html文件的多种步骤介绍
  4. 【VB.NET】VB.NET窗体与控件问题的解答
  5. 展望2015把C++版本的掼蛋程序写好
  6. Qt文档阅读笔记-Simple Anchor Layout Example解析
  7. code blocks代码性能分析_Julia系列教程13--如果写出高性能的Julia代码
  8. 国产操作系统剽窃Linux内核可耻!
  9. 【C++】指针遍历二维数组若干种方法小结
  10. Excel如何生成11位随机数,包含大小写字母和数字
  11. Linux的capability分析
  12. linux gem安装软件,安装gem报错
  13. svn绿色符号消失的解决办法
  14. 查看Ubuntu下的U盘
  15. MATLAB实现三角剖分(Delaunay)算法
  16. 始终从最不易改变的方面开始
  17. PS基础操作之照片处理
  18. gunicorn、uwsgi、uvicorn认识
  19. 基于Lanczos方法的矩阵双对角化或三对角化
  20. Esxi虚拟机安装黑群晖实践

热门文章

  1. dango shell 操作crud
  2. 浏览器中网址访问过程解析
  3. python 制作正态分布图,画出拒绝域
  4. 基于Jsp的手机应用商店的设计与实现mysql
  5. 计算机24游戏怎么玩,外媒评24款史上最好玩的策略游戏 投身宏伟场景玩到爆
  6. unbantu...
  7. 北京电信整顿“一机双号” 通信管理局要求清理原库
  8. 快速分析极兔快递物流发件到件超过36小时的时间差
  9. 解决 OneNote 项目符号快捷键 Ctrl+. 在 Windows 10 下无效问题
  10. Redmi首款超高性价比笔记本明日开售 售价3999元起