Question: package lib 2 8 0 . list; import lib 2 8 0 . base.BilinearIterator 2 8 0 ; import lib 2 8 0 . exception.BeforeTheStart

package lib
2
8
0
.
list;
import lib
2
8
0
.
base.BilinearIterator
2
8
0
;
import lib
2
8
0
.
exception.BeforeTheStart
2
8
0
Exception;
import lib
2
8
0
.
exception.ContainerEmpty
2
8
0
Exception;
/
*
*
A LinkedIterator which has functions to move forward and back,
and to the first and last items of the list. It keeps track of
the current item, and also has functions to determine if it is
before the start or after the end of the list.
*
/
public class BilinkedIterator
2
8
0
extends LinkedIterator
2
8
0
implements BilinearIterator
2
8
0
{
/
*
*
Constructor creates a new iterator for list 'list'.
Analysis : Time
=
O
(
1
)
@param list list to be iterated
*
/
public BilinkedIterator
2
8
0
(
BilinkedList
2
8
0
list
)
{
super
(
list
)
;
}
/
*
*
Create a new iterator at a specific position in the newList.
Analysis : Time
=
O
(
1
)
@param newList list to be iterated
@param initialPrev the previous node for the initial position
@param initialCur the current node for the initial position
*
/
public BilinkedIterator
2
8
0
(
BilinkedList
2
8
0
newList,
LinkedNode
2
8
0
initialPrev, LinkedNode
2
8
0
initialCur
)
{
super
(
newList
,
initialPrev, initialCur
)
;
}
/
*
*
*
Move the cursor to the last element in the list.
*
@precond The list is not empty.
*
/
public void goLast
(
)
throws ContainerEmpty
2
8
0
Exception
{
/
/
TODO
}
/
*
*
*
Move the cursor one element closer to the beginning of the list
*
@precond
!
before
(
)
-
the cursor cannot already be before the first element.
*
/
public void goBack
(
)
throws BeforeTheStart
2
8
0
Exception
{
/
/
TODO
}
/
*
*
A shallow clone of this object.
Analysis: Time
=
O
(
1
)
*
/
public BilinkedIterator
2
8
0
clone
(
)
{
return
(
BilinkedIterator
2
8
0
)
super.clone
(
)
;
}
}
The BilinkedList
2
8
0
and BilinkedIterator
2
8
0
classes in lib
2
8
0
-
asn
1
are incomplete. There
are missing method bodies in each class. Each missing method body is tagged with a
/
/
TODO comment. Write code to implement each of these unfinished method.
Implementation Notes
The javadoc headers for each method explain what each method is supposed to do
3
.
Many of the
methods you must implement override methods of the LinkedList
2
8
0
superclass.
Add your code right into the existing files within the lib
2
8
0
-
asn
1
module.
When implementing the methods, consider carefully any special cases that might cause need to update
the cursor position, or ensure that it remains in a valid state.
You are not permitted to modify any existing code in the
.
java files given. You may only fill in the
missing method bodies.
please solve the question using the starter file

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!