我有一個插入方法,當鏈接串列不能再添加任何節點時,應該拋出一個 ListOverFlowException。我不知道我可以在代碼的什么地方拋出這個例外。
public void insert(D data) throws ListOverflowException {
Node<D> iterator = new Node<>(data)。
if(startOfNode == null) {
startOfNode = iterator;
endOfNode = iterator;
iterator.setNext(startOfNode)。
}
endOfNode.setNext(iterator);
endOfNode = iterator;
endOfNode.setNext(startOfNode)。
//我應該把ListOverflowException放在哪里?
//throw new ListOverflowException("Error! Can't add any more nodes");
sizeOfList ; //更新節點的大小。
}
uj5u.com熱心網友回復:
什么時候該方法不能再插入任何節點了?
你應該在你的串列中有一個maxSize值(要么硬編碼,要么傳遞給你的類的建構式)。
然后你可以用它來檢查sizeOfList。
class YourLinkedList< D> {
private Node<D> startOfNode, endOfNode;
private int sizeOfList;
private int maxSize;
/Passing max size
public YourLinkedList(int size) {
this.maxSize=size。
}
....
public void insert(D data) throws ListOverflowException {
if (sizeOfList == maxSize) {
throw new ListOverflowException("錯誤!不能再添加任何節點") 。
}
//your current code。
}
}
或者你可以把它變成一個常量。
class YourLinkedList {
private int maxSize = 10。
//其余的代碼。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/331109.html
標籤:
上一篇:在一個區間內包裹一個值的最快方法
下一篇:運算子多載抽象類
