import java.util.TreeSet;
class Demo2001
{
public static void main(String [] args)
{
TreeSet<Demo> demo = new TreeSet<Demo>(); demo.add(new Demo("sss"));
demo.add(new Demo("ddd"));
demo.add(new Demo("sss"));
demo.add(new Demo("eee"));
demo.add(new Demo("aaa")); System.out.println(demo.size());
System.out.println(demo); System.out.println("==================="); TreeSet<String> str = new TreeSet<String>();
str.add("fdf");
str.add("adf");
str.add("idf");
str.add("mdf");
str.add("idf"); System.out.println(str.size());
System.out.println(str);
}
}class Demo implements Comparable
{
String name;
public Demo(String name)
{
this.name=name;
}
public String toString()
{
return name;
}
public int compareTo(Object obj)
{
if(this.name.compareTo(((Demo)obj).name)<0)
{
return -1;
}
if(this.name.compareTo(((Demo)obj).name)>0)
{
return 1;
}
return 1;
}
}
class Demo2001
{
public static void main(String [] args)
{
TreeSet<Demo> demo = new TreeSet<Demo>(); demo.add(new Demo("sss"));
demo.add(new Demo("ddd"));
demo.add(new Demo("sss"));
demo.add(new Demo("eee"));
demo.add(new Demo("aaa")); System.out.println(demo.size());
System.out.println(demo); System.out.println("==================="); TreeSet<String> str = new TreeSet<String>();
str.add("fdf");
str.add("adf");
str.add("idf");
str.add("mdf");
str.add("idf"); System.out.println(str.size());
System.out.println(str);
}
}class Demo implements Comparable
{
String name;
public Demo(String name)
{
this.name=name;
}
public String toString()
{
return name;
}
public int compareTo(Object obj)
{
if(this.name.compareTo(((Demo)obj).name)<0)
{
return -1;
}
if(this.name.compareTo(((Demo)obj).name)>0)
{
return 1;
}
return 1;
}
}
{
if(this.name.compareTo(((Demo)obj).name)<0)
{
return -1;
}
if(this.name.compareTo(((Demo)obj).name)>0)
{
return 1;
}
return 1; // 这里应该是return 0
}
}
public int compareTo(Object obj)
{
return this.name.compareTo(((Demo)obj).name);
}
{
if(this.name.compareTo(((Demo)obj).name)<0)
{
return -1;
}
if(this.name.compareTo(((Demo)obj).name)>0)
{
return 1;
}
return 1;
}this.name.compareTo(((Demo)obj).name)==0 这个情况为啥不做判断的?
如果和>0是一个结果,那还不如这样写
public int compareTo(Object obj)
{
if(this.name.compareTo(((Demo)obj).name)<0){
return -1;
}else{
return 1;
}
}