社区
Java SE
帖子详情
请教大虾:java实现Comparable接口问题?
rart2008
2010-05-26 03:03:25
我在学java集合,上课听得很昏!
这是一道作业不知怎么下手!
题目:
自定义一个Student类实现Comparable接口(该接口用于指定排序规则),Student类包含学号和姓名属性,使用TreeSet添加一组Student类的对象,然后循环输出学生信息!
请教大家帮我做做,还说下其中的原理!
...全文
101
9
打赏
收藏
请教大虾:java实现Comparable接口问题?
我在学java集合,上课听得很昏! 这是一道作业不知怎么下手! 题目: 自定义一个Student类实现Comparable接口(该接口用于指定排序规则),Student类包含学号和姓名属性,使用TreeSet添加一组Student类的对象,然后循环输出学生信息! 请教大家帮我做做,还说下其中的原理!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuminyuliang163
2010-05-26
打赏
举报
回复
而且放在Set里面的对象是 没有顺序的
yuminyuliang163
2010-05-26
打赏
举报
回复
你在main方法里有用到排序吗>>
你用Set的 来遍历 和排序有什么关系??
gegewozai
2010-05-26
打赏
举报
回复
不实现 肯定会报错的 因为你里面的元素是 自定义的类类型
是自定义类型 就必须实现 comparable 的compareto()方法
如果是单纯的 String 类型的话 你就没这么多烦恼了
TreeSet 它会根据首字母的前后顺序 自动进行排序的
rart2008
2010-05-26
打赏
举报
回复
public class Student implements Comparable {
String name;
int num;
public Student(String name,int num){
this.name=name;
this.num=num;
}
public String getName(){
return name;
}
public int getNum(){
return num;
}
public int compareTo(Object o) {
Student s=(Student)o;
if(num<s.getNum()){
return -1;
}
if(num>s.getNum()){
return 1;
}
return 0;
}
}
import java.util.*;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Set set=new TreeSet();
set.add(new Student("张三",4));
set.add(new Student("李四",2));
set.add(new Student("王五",3));
set.add(new Student("赵六",1));
Iterator nn=set.iterator();
while(nn.hasNext()){
Student s=(Student)nn.next();
System.out.println(s.getNum()+" "+s.getName());
}
}
}
我是这样做的,分两个类写的!我先想问下,如果Student类不实现Comparable 接口,会怎么样?
我不实现接口,调试报错了!运行不了!
yuminyuliang163
2010-05-26
打赏
举报
回复
你看下String 它是如何实现这个接口的~
你这样想~ java是怎么知道如何比较两个Student对象大小呢~~ 要用这个接口告诉它
liwenso
2010-05-26
打赏
举报
回复
这个你得先自己做,做好了,如有疑问可以发上来,让大家帮你看看。
自己不动手的话,很难学好一样东西的。
宁静-夏天
2010-05-26
打赏
举报
回复
汗! 自己做! 你学这个以后很可能靠这个吃饭。
至少你得模仿别人来写。
rart2008
2010-05-26
打赏
举报
回复
谁帮我做做啊?
龙四
2010-05-26
打赏
举报
回复
OH MY GOD
@省院右.zip
当 CAD 缺失对应字体时,图纸文字会显示异常,出现乱码、问号。将下载好的字体文件复制到 AutoCAD 的 Fonts 文件夹中,即可恢复正常显示。
简易医学CT机模型3D图纸 Solidworks设计.rar
简易医学CT机模型3D图纸 Solidworks设计.rar
基于MATLAB的光伏发电系统的建模与仿真.pdf
基于MATLAB的光伏发电系统的建模与仿真.pdf
自动组装机(定子线圈整形机、轴套组装机)3D模型 STEP格式.rar
自动组装机(定子线圈整形机、轴套组装机)3D模型 STEP格式.rar
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章