Having trouble removing from TreeSet
Take a look. The remove operation never returns TRUE. What am I doing wrong?
Code:
public static double closestPoints (Point [] xQueue) {
Point closestLeft, closestRight, current, check,tmp;
int c,n,t;
double delta, newDelta;
yComparator yC = new yComparator();
// initX **************************
Arrays.sort(xQueue); // sort xQueue by X-coordinate
// initY **************************
TreeSet<Point> yTree = new TreeSet<Point>(yC); // Creates empty tree set
closestLeft = xQueue[0];
closestRight = xQueue[1];
delta = distance(closestLeft, closestRight);
yTree.add(xQueue[0]);
yTree.add(xQueue[1]);
c = 2;
t = 0;
n = xQueue.length;
while ( c < n ) {
current = xQueue[c];
while ( t < c && (double)(current.x - xQueue[t].x) >= delta) {
if ( yTree.remove(xQueue[t]))
System.out.println("REMOVED ----> " + xQueue[t].x + ":" + xQueue[t].y);
t = t + 1;
}