社区
Java SE
帖子详情
请教大虾:java实现Comparable接口问题?
rart2008
2010-05-26 03:03:25
我在学java集合,上课听得很昏!
这是一道作业不知怎么下手!
题目:
自定义一个Student类实现Comparable接口(该接口用于指定排序规则),Student类包含学号和姓名属性,使用TreeSet添加一组Student类的对象,然后循环输出学生信息!
请教大家帮我做做,还说下其中的原理!
...全文
102
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
java
sort()怎么
实现
的_
Java
中Array.sort()的排序原理
People[]people={newPeople("小飞飞","2","2:41:28"),newPeople("小国","2","11:1:32"),newPeople("小威","4","17:23:3"),newPeople("大飞","2","14:52:13"),newPeople("晶晶","1","2...People[] people={new People("小飞飞","2",...
Java
Array.sort()两种重载的排序方法
package com.practice.ch10;import
java
.util.Arrays;public class Result implements
Comparable
{ int point; //成绩 int no; //学号 String name; //姓名 public Result(int point,int no,String name) { this.point = point; this.no = no; this.name = name; } publ
java
sort 重载_
Java
Array.sort()两种重载的排序方法
Array.Sort()方法是根据元素的自然顺序对指定的对象数组按升序进行排序,但是如果如果数组中的对象不是能直接进行比较的话,那么会报错,例如学生的成绩进行排序,对象是学生,具有成绩,学号,姓名的属性。如果想对学生的成绩进行排序,有两种方法:1.
实现
Comparable
接口
,并覆盖compareTo方法,按照你的意思进行排序2.
实现
Comparator
接口
,并覆盖compare方法,按照你的意思...
Java
Array.sort()两种重载的排序方法
Array.Sort()方法是根据元素的自然顺序对指定的对象数组按升序进行排序,但是如果如果数组中的对象不是能直接进行比较的话,那么会报错,例如学生的成绩进行排序,对象是学生,具有成绩,学号,姓名的属性。如果想对学生的成绩进行排序,有两种方法: 1.
实现
Comparable
接口
,并覆盖compareTo方法,按照你的意思进行排序 2.
实现
Comparator
接口
,并覆盖compare方法,按照
任务7-4 订单管理
摘要:本文介绍了一个订单管理系统的
Java
实现
方案。系统使用TreeMap存储订单数据(键为订单编号,值为菜品列表),支持查看所有订单、按编号查询订单和删除订单功能。订单项由Dish类表示,包含菜品名称和价格属性。系统初始化时预置3个订单数据,通过控制台菜单与用户交互。主要功能包括:1)展示所有订单;2)根据订单编号查询订单详情;3)删除指定订单。程序采用面向对象设计,使用集合框架
实现
数据存储和操作,通过Scanner类处理用户输入。
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章