style=”color:rgb(0,0,230);”>void add(int pIndex, Integer pData) throws IndexOutOfBoundsException {
public
style=”color:rgb(0,0,230);”>void add(int pIndex, Integer pData) throws IndexOutOfBoundsException {
if (pIndex < 0 || pIndex > getSize())
throw new IndexOutOfBoundsException();
if (pIndex == getSize()) { //adding node to the end of the list
Node newNode = new Node(pData, getTail(), null);
if (isEmpty())
setHead(newNode); //////////LINE 1
else
getTail().setNext(newNode); //////////LINE 2
setTail(newNode);
}
else {
Node node = getNodeAt(pIndex);
Node newNode = new Node(pData, node.getPrev(), node);
if (pIndex != 0)
node.getPrev().setNext(newNode);
node.setPrev(newNode);
if (pIndex == 0)
setHead(newNode);
}
setSize(getSize() + 1);
}
Modify the method so that it adds nodes to the end of the linked list.