Linked List

Linked list allows us to arrange elements into order. It maintain the order of elements in which they have added.
Its iterator traverse on element into same order in they have added. It has all common operations related to linked list in our data structure like insert, remove, traverse etc.
LinkedList class is an implementation of the List interface. It implements all optional list operations, and permits all elements.
In addition to implementing the List interface, the LinkedList class provides uniformly named methods to get, remove and insert an element at the beginning and end of the list.
These operations allow linked lists to be used as a stack, queue, or double-ended queue.

package collection.demos;

import java.util.Iterator;

import java.util.List;

import java.util.LinkedList;

import java.util.ListIterator;

public class LinkedListDemo1 {

    public static void main(String[] args) {


        LinkedList<String> lists = new LinkedList<String>();

        System.out.println("Initial List :" + lists);






        System.out.println("After adding five alphabets :" + lists);

        // Getting first and last element of list

        System.out.println("First Element: " + lists.getFirst());

        System.out.println("Last Element: " + lists.getLast());

        // Removing elements from first and last position



        System.out.println("List after removing first and last elements : " + lists);

        // Adding first elements at first and last postion



        System.out.println("List after adding elements at first and last position : " + lists);

        // Checkeng for specific element

        System.out.println("List contains element d : " + lists.contains("d"));

        // Getting the number of elements in this list

        System.out.println("List size : " + lists.size());

        // Appending the specified element to the specified index of this list.


        System.out.println("List after appending element at 2 index : " + lists);

        // Removing the first occurrence of the specified element from this list


        System.out.println("List after removing element x : " + lists);

        // Getting element of specified index

        System.out.println("Element at index 2 : " + lists.get(2));

        // Replacing the element at the specified position in this list with the specified element.


        System.out.println("List after replacing element at 2 index with x " + lists);

        // Checking index of specified element into list

        System.out.println("Index of d in list is " + lists.indexOf("d"));

        System.out.println("Last Index of d in list is " + lists.lastIndexOf("d"));

        // Retrieving, but does not removing, the head (first element) of this list.

        System.out.println("head element " + lists.peek());

        System.out.println("peaking first element " + lists.peekFirst());

        // Retrieving and removing the head (first element) of this list

        System.out.println("List before polling " + lists);

        System.out.println("Head element " + lists.poll());

        System.out.println("List after polling " + lists);

        // Using LikedList as stack

        // Pushes an element onto the stack represented by this list. In other words, inserts the element at the front of this list.


        System.out.println("List after push element a " + lists);

        // Pops an element from the stack represented by this list. In other words, removes and returns the first element of this list.

        System.out.println("Poped Element " + lists.pop());

        System.out.println("List after pop element a " + lists);

        // Removing first and last accorance of element



        System.out.println("List contetns " + lists);

        System.out.println("after removeFirstOccurrence of x : " + lists.removeFirstOccurrence("x"));

        System.out.println("after removeLastOccurrence of d : " + lists.removeLastOccurrence("d"));

        System.out.println("List contetns " + lists);

        // list-iterator of the elements, in proper sequence

        System.out.println("List iterator");

        for (ListIterator<String> it = lists.listIterator(); it.hasNext();) {

            String string =;



        // list-iterator of the elements,starting at the specified position in the list, in proper sequence

        System.out.println("List iterator start from index 2");

        for (ListIterator<String> it = lists.listIterator(2); it.hasNext();) {

            String string =;



        // Creating sublist of list

        List<String> sub = lists.subList(13);

        System.out.println("List " + lists);

        System.out.println("Sub List " + sub);

        // Returns an iterator over the elements in this deque in reverse sequential order.

        // The elements will be returned in order from last (tail) to first (head).

        System.out.println("Using descendingIterator");

        for (Iterator<String> it = lists.descendingIterator(); it.hasNext();) {

            String string =;



        // Creating array of elements

        String[] arr = lists.toArray(new String[0]);

        for (String e : arr) {





No comments:

Popular Posts