Comparable クラスを拡張し、昇順のカスタム ArrayList インターフェイスがあります。私が取り組んでいるクラスは、このインターフェースを実装しています。
私の問題は、add メソッドを編集して、要素を ArrayList に追加し、List の順序を維持し、重複がないことを確認する必要があることです。
これらすべてを別々の方法で行うのは簡単ですが、それは問題外です。メソッドが呼び出されたときに (重複していない限り) 要素が正しい位置に追加されるように、1 つのメソッドですべてを実行する必要があります。
その上で、メソッドを挿入するインデックスの位置を確認するには、Comparable クラスから継承した compareTo() メソッドを使用する必要があります。唯一の問題は、作業中のクラスに独自の compareTo() メソッドを実装する必要があることです。私はすべてを見てきましたが、この特定のクラスでそれを行う方法について混乱しています。
これまでの私のコードは次のとおりです。
public void add(E item) throws IndexOutOfBoundsException {
if (contains(item)) {
throw new IllegalArgumentException("This is a duplicate!");
}
//here is where I need the implementation to add the item to the array, in order
}
次に、私のcompareTo()メソッドは次のとおりです。
public int compareTo(E item) {
if () {
return -1;
}
else if () {
return 1;
}
else {
return 0;
}
}