这个程序的compareTo应该怎能样写才能得出正确结果? 你是要按照什么拍?按数字return x.number-y.number; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按字符串排。就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。 按字符串排。就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。一样的public int compareTo(A other) { return this.name.compareTo(other.name); } 按字符串排。就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。一样的public int compareTo(A other) { return this.name.compareTo(other.name); }怎样得出的结果是版主,为什么CSDN自己不能有截图功能呀,每次我都是打开QQ后现截图保存,然后再选择上传上来,好麻烦。 楼主在A类里重写一下toString()方法。 确实如你所说,在A类中加上toString就好了。我要好好想想为什么? 其实我对3楼版主的用法有点不解,public int compareTo(A other) { return this.name.compareTo(other.name); }compareTo是方法名,怎么在方法里面又用了compareTo? 我把整理好的程序贴上来,但是我又有一个疑问:import java.util.*;public class Test{ public static void main(String[] args) { SortedSet<A> parts = new TreeSet<A>(); parts.add(new A("rst", 789)); parts.add(new A("opq", 589)); parts.add(new A("efg", 456)); parts.add(new A("ttt", 621)); parts.add(new A("abc", 123)); System.out.println(parts); SortedSet<A> sortname = new TreeSet<A> (new Comparator<A>() { public int compare(A a, A b) { String x = a.getName(); String y = b.getName(); return x.compareTo(y); } } ); sortname.addAll(parts); System.out.println(sortname); } }class A implements Comparable<A>{ public A(String name, int number) { this.name = name; this.number = number; } public String getName() { return name; } public int getNumber() { return number; } public String toString() { return name; } public int compareTo(A other) { // return this.number-other.number; return this.name.compareTo(other.name); } private String name; private int number; }我认为System.out.println(parts);与System.out.println(sortname);显示的顺序应该不一样才是,但是结果好像是一样的。 System.out.println(parts);应该是排序之前的输出才对呀,为什么与排序后的输出一样呢? TreeSet默认是按升序排列的,所以一样 为什么我的 jsp老师传不了值呢 [高分求解]Graphics问题,在鼠标drag的画线太闪了,请高人指点指点~ [有代码] 华为JAVA比武大赛试题(最好的JAVA水平测试),你能搞定吗? JNI的两个问题,一个是javah的,一个是VC编译时报unresolved external symbol _main 请您不吝赐教 关于static的问题 vector hashtable过时? 请问现在主要的java编译器有些什么 agent JB里引入其他程序包 同一SE项目中,是否可以对不同JPanel 定义不同的风格? 关于Socket请求和响应的问题,请socket高手赐教。
按字符串排。
就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。
按字符串排。
就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。
一样的
public int compareTo(A other)
{
return this.name.compareTo(other.name);
}
按字符串排。
就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。
一样的
public int compareTo(A other)
{
return this.name.compareTo(other.name);
}怎样得出的结果是
版主,为什么CSDN自己不能有截图功能呀,每次我都是打开QQ后现截图保存,然后再选择上传上来,好麻烦。
确实如你所说,在A类中加上toString就好了。我要好好想想为什么?
public int compareTo(A other)
{
return this.name.compareTo(other.name);
}
compareTo是方法名,怎么在方法里面又用了compareTo?
{
public static void main(String[] args)
{
SortedSet<A> parts = new TreeSet<A>();
parts.add(new A("rst", 789));
parts.add(new A("opq", 589));
parts.add(new A("efg", 456));
parts.add(new A("ttt", 621));
parts.add(new A("abc", 123));
System.out.println(parts);
SortedSet<A> sortname = new TreeSet<A>
(new
Comparator<A>()
{
public int compare(A a, A b)
{
String x = a.getName();
String y = b.getName();
return x.compareTo(y);
}
}
);
sortname.addAll(parts);
System.out.println(sortname);
}
}class A implements Comparable<A>
{
public A(String name, int number)
{
this.name = name;
this.number = number;
}
public String getName()
{
return name;
}
public int getNumber()
{
return number;
}
public String toString()
{
return name;
}
public int compareTo(A other)
{
// return this.number-other.number;
return this.name.compareTo(other.name);
}
private String name;
private int number;
}我认为System.out.println(parts);与System.out.println(sortname);显示的顺序应该不一样才是,但是结果好像是一样的。
System.out.println(parts);应该是排序之前的输出才对呀,为什么与排序后的输出一样呢?