次のコードがあります: TreeSet に Item オブジェクトを挿入しようとしていますが、欲求の出力が得られません。
public class Main
{
public static void main(String a[])
{
Item i1=new Item(1,"aa");
Item i2=new Item(5,"bb");
Item i3=new Item(10,"dd");
Item i4=new Item(41,"xx");
Item i5=new Item(3,"x5");
TreeSet t=new TreeSet();
t.add(i1);
t.add(i2);
t.add(i3);
t.add(i4);
t.add(i5);
System.out.println(t);
}
}
class Item implements Comparable<Item>
{
String nm;
int price;
public Item(int n,String nm)
{
this.nm=nm;
price=n;
}
public int compareTo(Item i1)
{
if(price==i1.price)
return 0;
else if(price>=i1.price)
return 1;
else
return 0;
}
public String toString()
{
return "\nPrice "+price+" Name : "+nm;
}
}
出力:
[ 価格 1 名前 : aa、
価格 5 名前 : bb、
価格 10 名前 : dd、
価格 41 名前 : xx ]
Item i5=new Item(3,"x5");
が挿入されないのはなぜですか?
TreeSet に挿入できる理由。