- HubPages»
- Technology»
- Computers & Software»
- Computer Science & Programming»
- Computer Programming Tutorials
How to represent a Singly Linked List in Java ?
Introduction to Singly Linked List
Singly Linked List is a type of data structure used for storing collection of objects. The objects are basically termed as Nodes. The nodes together form a chain in which each node has reference to its next node. The chain can grow and shrink upon insertion and deletion of nodes in a Singly Linked List. It is similar to array data structure in many ways.
A Node consists of two parts -
- data - It is the actual data which a node holds.
- next reference - It stores memory address for the next node.
Singly Linked List has following properties -
- It contains number of nodes in a sequence.
- The first node is termed as head node.
- The last node points to null.
The Singly Linked List is a forward direction list in which nodes can be traversed in one direction through next pointers. It is called as Singly Linked List because it has a single link to next node. Thus, it is a list which helps in traversing in a single direction.
The following image demonstrate how a node looks in a Singly Linked List -
Representation of a Singly Linked List
A Singly Linked List is represented with collection of nodes which are connected to form a chain. The node has a data and its next is pointing to next node in a list. The first node is termed as head node. It usually holds complete Linked List together. The last node is the end of chain, therefore its next is pointing to null.
Singly Linked List can grow and shrink depending on the memory available. The data stored is in ordered form. The nodes in a list can be added and removed as per requirement.
Implementation of a Node in a Singly Linked List
The node consists of two things -
- data / value - It can be any generic type of data.
- next - It is pointer to next node in a Singly Linked List.
The implementation of a Node in a Singly Linked List is as follows -
Generic Type of Node in a Singly Linked List
// It will be an inner class to Singly Linked List private class ListNode<T> { // Generic type of data private T data; private ListNode<T> next; public ListNode(T data) { this.data = data; this.next = null; } }
Integer type of Node in a Singly Linked List
// It will be an inner class to Singly Linked List private class ListNode { // Integer type of data private int data; private ListNode next; public ListNode(int data) { this.data = data; this.next = null; } }
Video tutorial to demonstrate how to represent a Singly Linked List in Java
The following video demonstrates how to represent a Singly Linked List in Java. It shows how to visualize a Singly Linked List data structure. It also demonstrate code to implement a ListNode and Singly Linked List in Java
Implementation of a Singly Linked List in Java - Generic data type
package com.hubberspot.algos.linkedlist; // class to implement singly linked list public class SinglyLinkedList<T> { // The head holds the linked list together. // It usually points to first node of a singly linked list private ListNode<T> head; public SinglyLinkedList() { } // It is a private inner class which represents a ListNode private class ListNode<T> { // it stores actual data for an element private T data; // it stores memory address to next node in a linked list private ListNode<T> next; // Constructor to initialize a node with data. public ListNode(T data) { this.data = data; this.next = null; } } }
Implementation of a Singly Linked List in Java - Integer data type
package com.hubberspot.algos.linkedlist; // class to implement singly linked list public class SinglyLinkedList { // The head holds the linked list together. // It usually points to first node of a singly linked list private ListNode head; public SinglyLinkedList() { } // It is a private inner class which represents a ListNode private class ListNode { // it stores actual data for an element private int data; // it stores memory address to next node in a linked list private ListNode next; // Constructor to initialize a node with data. public ListNode(int data) { this.data = data; this.next = null; } } }
Conclusion
In this article representation of a Singly Linked List was demonstrated. The next article covers the insertion and removal of nodes in a list.
© 2017 dinesh-varyani