How to Create and Traverse a Linked List without using Java collection frameworks?
Linked lists are an essential data structure in computer
science, providing an efficient way to store and manage data. In Java, the
LinkedList class in the Java Collections framework is widely used for this
purpose. However, in this blog post, we will explore how to create a LinkedList
from scratch using a custom class, without relying on the built-in Java
Collections.
Algorithm:
1. Define a
Node class that represents individual nodes in the list. Each node contains
data and a reference to the next node in the sequence.
2. To add
elements to the LinkedList, we will create an object of the Node class and
assign a value of the node to its constructor. Its syntax is: Node newNode =
new Node(value);
3. To
traverse the LinkedList, we'll create a traverse( ) function start from the
head node and keep moving to the next node until we reach the end (i.e., the
next node is null).
Source Code:
Output:
Theory:
In the above code, there are two classes Node and LL are
created.
1. Node
class contains two instance variables, next and data. The ‘data’ variable
stores the value of a node and the next variable is used to store a reference
to the next node.
2. LL class
contains a main( ) function which has been used to create a linked list of
three nodes, (namely, node1, node2 and node3). These nodes are linked together
using the next field. The head variable is assigned with the first node, here,
node1. Now, the traverse() function can then be called by passing the head of
the node as the formal parameter.
3. The
traverse() method starts by initializing the cur variable with the head of the
node. It then enters into a while loop which terminates when current reaches
null. Inside the loop, we have a print statement, for printing the value that
is data of the current node, that is, cur. After this, the cur variable is
updated to the next node of the linked list. This process continues till the
loop reaches its termination. Thus, we get the output.
Video reference:
Hope you liked this explanation, for any feedback or doubt
you can comment down in the comment section.