永发信息网

JAVA中用Set集合的TreeSet类对姓名和编号排序

答案:2  悬赏:0  手机版
解决时间 2021-04-30 05:53
在Per类中以内部类形式实现比较器PerComparator,在写比较器前要实现compareTo方法,谁能告诉我?
最佳答案

按编号的排序,compareTo比较一下就可以了:



import java.util.Iterator;
import java.util.TreeSet;


public class PriorityTest extends TreeSet<PriorityTest.Test>{
static class Test implements Comparable<Test>{
String name;
int num;

public Test(String name, int num) {
this.name = name;
this.num = num;
}

public int compareTo(Test arg) {
if(num < arg.num)
return 1;
else if(num > arg.num)
return -1;
else
return 0;
}

public String toString(){
return name;//Character.toString(arg0)
}
}

public void add(String str, int priority){
super.add(new Test(str,priority));
}

public static void main(String args[]){
PriorityTest pTest = new PriorityTest();
pTest.add("小明1",1);
pTest.add("小红3",3);
pTest.add("小张2",2);



for(Iterator iter = pTest.iterator();iter.hasNext();){
Object obj = iter.next();
System.out.println(obj);
}
}
}


全部回答

定义内部类. 至于里面怎么比较,就看具体的情况了,这里只随便比较一下name

public class Per{

private String name;

private class PerComparator implements Comparator

public int compareTo(Object obj1, Object obj2){

return ((Per)obj1.getName().hashCode()-(Per).getName().hashCode());

}

public String getName(){

return name;

}

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在腾讯客服网站提交的问题需要多久能解决
阿房宫赋有名的句子,描写合欢花或合欢树的诗
俺亲爱的生气了该怎么哄她?急待解决……
DNF卡片好多级可以用
海尔V70,能在网上下载主体吗?
我现在晚上不听歌睡不着。以前失眠听听歌不知
惠斯勒小镇(南1门)怎么去啊,有知道地址的么
学生民乐队买什么板胡更好
比喻工作辛苦的诗句,人这么辛苦的工作都是为
为什么备注名和昵称不能同时显示
怀孕早期肚子有点痛,下面有点出血,怎么办?
为什么空间打开后一会又回到空白页了?
今日头条怎么增加粉丝,投稿今日头条对自媒体
专升本考试 专业课(企业管理)满分 多少???
求仙镇 破阵在哪里破
推荐资讯
腾讯图书VIP怎么赠送好友图书 要详细步骤
潘多拉效应是什么?
大一职业规划怎么写
举报黑网吧向哪个部门举报
电脑按键问题
帮写个魔兽世界宏
对爱人离别不舍的诗句,朋友分别时不舍的诗句
求一下联:
减肚子上的肉肉,实用点的,最好是自己用过的
psp里的都来进来看看
征途天马在那抓?怎么走说具体点
我国的珠宝加工厂主要分部在哪些城市
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?