My set fails
Could anyone tell me why? How do I fix it?
package setTest;
import java.util.*;
public class SetTest implements Comparable<SetTest> {
public String toString(){
return this.s1 + " " + this.x1;
}
public static void display(){
for(SetTest s : set){
System.out.println(s);
}
}
public static void populate(){
for (int i = 1; i < 3; i++){
set.add(new SetTest(1, "One"));
set.add(new SetTest(2, "One"));
set.add(new SetTest(1, "Two"));
}
}
public String getX1(){
return x1;
}
public int getS1(){
return s1;
}
public boolean equals(Object o) {
if (!(o instanceof SetTest))
return false;
SetTest s = (SetTest)o;
if(s.getS1() == this.getS1() && s.getX1() == this.getX1())
return true;
else
return false;
}
public int compareTo(SetTest s){
if(this == s)
return 1;
else
return -1;
}
public SetTest(int s, String x){
s1 = s;
x1 = x;
}
public static void main(String[] args){
populate();
System.out.println("The size of set is: " + set.size());
display();
}
private int s1;
private String x1;
static protected Set<SetTest> set = new TreeSet<SetTest>();
}