我有一个自定义 ArrayList 接口,它扩展了 Comparable 类并且按升序排列。我正在研究的类正在实现这个接口。
我的问题是我需要编辑 add 方法,以便它将一个元素添加到 ArrayList,使 List 保持有序,并确保没有重复项。
用单独的方法完成所有这些工作很容易,但这是不可能的。我需要一种方法来完成这一切,以便在调用该方法时(只要它不是重复的)元素被添加到正确的位置。
最重要的是,要检查要插入方法的索引的位置,我必须使用从 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;
}
}