java 集合 实现comparable接口
来源:互联网 发布:linux创建多个定时器 编辑:程序博客网 时间:2024/05/23 18:10
import java.util.Scanner;
import java.util.TreeSet;
/*
* 编写一个学生成绩管理程序;
* 学生的属性包括学号、姓名、年龄、成绩等;
* 请根据学生学号、姓名、年龄、成绩等进行排序;
*/
public class Test
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int[] id = new int[6];
String[] name = new String[6];
int[] age = new int[6];
double[] score = new double[6];
TreeSet<Student> ts = new TreeSet<Student>();
String str;
System.out.println("input id,name,age,score:");
for(int i=0; i<6; i++)//在控制台上输入六个学生的信息;
{
str = scan.next();
String[] str1 = str.split(",");
id[i] = Integer.valueOf(str1[0]);
name[i] = str1[1];
age[i] = Integer.valueOf(str1[2]);
score[i] = Double.valueOf(str1[3]);
ts.add(new Student(id[i], name[i], age[i], score[i]));
}
for(Student x:ts) //使用foreach输出;
{
System.out.println(x);
}
}
}
public class Student implements Comparable<Student>
{
int id;
String name;
int age;
double score;
public Student(int id, String name, int age, double score)
{
this.id = id;
this.name = name;
this.age = age;
this.score = score;
}
public int getId()
{
return id;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public double getScore()
{
return score;
}
@Override
public String toString() //重写toString方法,调用时按以下方式输出;
{
return "id=" + id + ", name=" + name + ", age=" + age + ", score=" + score;
}
@Override
public int compareTo(Student s) //重写compareTo方法,升序排序,若id相同,则依次往name、age、score推;
{
int num;
num = id > s.id ? 1 : (id == s.id ? 0 : -1);
if(num==0)
{
int n = this.name.compareTo(s.name);
if(n > 0)
{
num = 1;
}
else if(n == 0)
{
num = age > s.age?1:(age==s.age?0:-1);
if(num == 0)
{
num = score > s.score ? 1 : (score==s.score?0:-1);
}
}
else
{
num = -1;
}
}
return num;
}
}
- java 集合 实现comparable接口
- 165_集合_SortedSet集合详解_02_实现Comparable接口
- Java集合对象的排序使用Collection.sort方法,先实现Comparable接口
- java 集合(5) 类对象排序 / 类实现Comparable 接口 / 调用Collections 类sort()
- Effective Java Item12-考虑实现Comparable接口
- Java朝花夕拾の实现Comparable接口
- java 对ArrayList排序,实现Comparable接口
- java 对ArrayList排序,实现Comparable接口
- JAVA内部比较器:实现Comparable接口
- effective java (12) 考虑实现Comparable接口
- 【JAVA 日常练习 13.10】+ comparable接口实现
- Java 实现Comparable接口踩坑记录
- Effective Java读书笔记-考虑实现Comparable接口
- Java:对集合中的对象进行排序需要实现Interface Comparable接口并实现int compareTo(T o)方法
- 实现Comparable接口
- 实现Comparable接口
- Comparable接口的实现
- Comparable<T>接口实现
- 判断是否存在拓扑结构相同的子树(C++版)
- Android中无法获取EditText中输入的值
- 日报2015/11/24(第一行代码读书笔记)
- Linux 网络select模型
- Java基础——Java笔记--内部类
- java 集合 实现comparable接口
- centos6.4安装ftp服务軟件vsftpd
- LintCode:最小差
- 朝花夕拾之--大数据平台CDH集群离线搭建
- c#中的DBNull和Null
- Java NIO 读取文件、写入文件、读取写入混合
- Androiod Input event
- ButterKnife初级用法
- 最优间隔分类器与SVM