LinkedList
- A LinkedList is used to store an "ordered" group of elements where duplicates are allowed.
- A LinkedList is based on a double linked list where elements of the List are typically accessed through add() and remove() methods.
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