这个程序的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默认是按升序排列的,所以一样 问一下一个小问题 再问swing如何通过jacob调用ocx控件 怎样将字节转换成字符类行的 在java当中如何完成复制,剪切,粘贴和拷贝? java web start中的draw app的源代码从哪里可以得到? 仍是数据库的问题 怎么校验ip地址是否属于某ip段范围里?? 这段代码单独连接数据库没问题,当加入到applet里面不知为什么有问题,在线等 小调查,大家现在都用什么数据库(在java里) ● 请问:谁有日文即时转中文的工具 ● 同一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);应该是排序之前的输出才对呀,为什么与排序后的输出一样呢?