Я создал TreeSet пользовательских объектов (KCtrSrv) для проекта, над которым я работаю, и я пытаюсь использовать .higher (KCtrSrv) и .lower (KCtrSrv).Таким образом, объект KCtrSrv будет передан для сравнения с другими объектами KCtrSrv, которые уже находятся внутри TreeSet.Я хотел бы иметь возможность изолировать его, чтобы посмотреть только на центральное поле, это возможно?
** Мое дерево содержит три объекта с центрами 0.666, 2.0, 3.333 и в настоящее время, когда я делаю tree.higher (newRequest) возвращает 3.333.newRequest имеет значения center = 0 и serverPosition = 0. Он должен возвращать 0,666.
Я не на 100% уверен, как работают .higher () и .lower (), однако я пробовал просматривать JavaDocsэто не очень помогло.Я также думал о создании класса для TreeSet и переопределении .higher () и .lower (), однако я не был вполне уверен, с чего начать сравнения.
Любая помощь будет принята с благодарностьюспасибо!
Мой объект:
Класс KCtrSrv реализует Comparable {
private double center;
private double serverPosition;
public KCtrSrv(double center, double serverPosition) {
this.center = center;
this.serverPosition = serverPosition;
}
private void setServerPosition(double position) {
this.serverPosition = position;
}
private double getServerPosition() {
return this.serverPosition;
}
private double getCenter() {
return this.center;
}
public int compareTo(KCtrSrv x) {
return (int) Math.abs(this.serverPosition - x.center);
}
}