Java LinkedList

 

LinkedList

 

 

Below is an LinkedList Example showing how collections are manipulated using an LinkedList

import java.util.List;
import java.util.LinkedList;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.Collections;
import java.util.Random;

public class LinkedListExample {


    public static void main(String[] args) {

//        LinkedList Creation
        List linkedListA = new LinkedList();
        List linkedListB = new LinkedList();

//        Adding elements to the LinkedList
        for (int i = 0; i < 5; i++) {
            linkedListA.add(new Integer(i));
        }

        linkedListB.add("beginner");
        linkedListB.add("java");
        linkedListB.add("tutorial");
        linkedListB.add(".");
        linkedListB.add("com");
        linkedListB.add("java");
        linkedListB.add("site");
        
//      Iterating through the LinkedList to display the Contents. 
        Iterator i1 = linkedListA.iterator();
        System.out.print("LinkedList linkedListA --> ");
        while (i1.hasNext()) {
            System.out.print(i1.next()+ " , ");
        }
        System.out.println();
        System.out.print("LinkedList linkedListA --> ");
        for (int j=0; j < linkedListA.size(); j++) {
            System.out.print(linkedListA.get(j)+ " , ");
        }
        System.out.println();
        Iterator i2 = linkedListB.iterator();
        System.out.println("LinkedList linkedListB --> ");
        while (i2.hasNext()) {
            System.out.print(i2.next()+ " , ");
        }
        
        System.out.println();
        System.out.println();
        System.out.println("Using ListIterator to retrieve LinkedList Elements");
        System.out.println();

        ListIterator li1 = linkedListA.listIterator();
//       next(), hasPrevious(), hasNext(), hasNext() nextIndex() can be used with a 
//        ListIterator interface implementation
        System.out.println("LinkedList linkedListA --> ");
        while (li1.hasNext()) {
        	System.out.print(li1.next()+ " , ");
        }

        System.out.println();
        
//        Searching for an element in the LinkedList
        int index = linkedListB.indexOf("java");
        System.out.println("'java' was found at : " + index); 
        int lastIndex = linkedListB.lastIndexOf("java");
        System.out.println("'java' was found at : " + lastIndex+" from the last");
        System.out.println();
        
//        Getting the subList from the original List
        List subList = linkedListA.subList(3, linkedListA.size());
        System.out.println("New Sub-List(linkedListA) from index 3 to " 
        				+ linkedListA.size() + ": " + subList);
        System.out.println();
        
//        Sort an LinkedList
        System.out.print("Sorted LinkedList linkedListA --> ");
        Collections.sort(linkedListA);
        System.out.print(linkedListA);
        System.out.println();

//      Reversing an LinkedList
        System.out.print("Reversed LinkedList linkedListA --> ");
        Collections.reverse(linkedListA);
        System.out.println(linkedListA);
        System.out.println();
        
//		Checking emptyness of an LinkedList
        System.out.println("Is linkedListA empty?   " + linkedListA.isEmpty());
        System.out.println();

//        Checking for Equality of LinkedLists
        LinkedList LinkedListC = new LinkedList(linkedListA);
        System.out.println("linkedListA.equals(LinkedListC)? "
        					+ linkedListA.equals(LinkedListC));
        System.out.println();

//      Shuffling the elements of an LinkedList in Random Order
        Collections.shuffle(linkedListA, new Random());
        System.out.print("LinkedList linkedListA after shuffling its elements--> ");
        i1 = linkedListA.iterator();
        while (i1.hasNext()) {
            System.out.print(i1.next()+ " , ");
        }
        System.out.println();
        System.out.println();
//        Converting an LinkedList to an Array
        Object[] array = linkedListA.toArray();
        for (int i=0; i < array.length; i++) {
            System.out.println("Array Element [" + i + "] = " + array[i]);
        }
        System.out.println();

//        Clearing LinkedList Elements
        linkedListA.clear();
        System.out.println("linkedListA after clearing  : " + linkedListA);
        System.out.println();
    }

}

     

Output

LinkedList linkedListA --> 0 , 1 , 2 , 3 , 4 ,
LinkedList linkedListA --> 0 , 1 , 2 , 3 , 4 ,
LinkedList linkedListB -->
beginner , java , tutorial , . , com , java , site ,

Using ListIterator to retrieve LinkedList Elements

LinkedList linkedListA -->
0 , 1 , 2 , 3 , 4 ,
'java' was found at : 1
'java' was found at : 5 from the last

New Sub-List(linkedListA) from index 3 to 5: [3, 4]

Sorted LinkedList linkedListA --> [0, 1, 2, 3, 4]
Reversed LinkedList linkedListA --> [4, 3, 2, 1, 0]

Is linkedListA empty? false

linkedListA.equals(LinkedListC)? true

LinkedList linkedListA after shuffling its elements--> 3 , 2 , 4 , 0 , 1 ,

Array Element [0] = 3
Array Element [1] = 2
Array Element [2] = 4
Array Element [3] = 0
Array Element [4] = 1

linkedListA after clearing : []
 

Download LinkedListExample.java