LinkedList
Obtain sub List from LinkedList example
This is an example of how to obtain a subList of a LinkedList, that is a view to a specified range of the list. Getting a sublist of a LinkedList implies that you should:
- Create a new LinkedList.
- Populate the list with elements, with
add(E e)
API method of LinkedList. - Invoke the
subList(int fromIndex, int toIndex)
API method of LinkedList. It returns a List that is a view of the portion of this list between the specifiedfromIndex
, that is inclusive, andtoIndex
, that is exclusive. The returned list is backed by the original LinkedList, so changes to subList are also reflected to the original LinkedList. To check if this is true, we can remove an element from the sub list and then check if it exists in the original LinkedList.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core; import java.util.LinkedList; import java.util.List; public class SubListLinkedList { public static void main(String[] args) { // Create a LinkedList and populate it with elements LinkedList linkedList = new LinkedList(); linkedList.add("element_1"); linkedList.add("element_2"); linkedList.add("element_3"); linkedList.add("element_4"); linkedList.add("element_5"); System.out.println("LinkedList contains : " + linkedList); // List subList(int start, int end) method returns portion of list containing element from start index inclusive to end index exclusive List subList = linkedList.subList(1,3); System.out.println("subList contains : " + subList); /* Sub List returned is backed by original LinkedList. So any changes made to sub list will also be reflected to the original LinkedList. We will test that by removing an element from the sub list and check that it is removed from the original LinkedList also */ boolean removed = subList.remove("element_2"); System.out.println("element_2 removed from subList : " + removed + ", subList now contains : " + subList); System.out.println("LinkedList now contains : " + linkedList); } }
Output:
LinkedList contains : [element_1, element_2, element_3, element_4, element_5]
subList contains : [element_2, element_3]
element_2 removed from subList : true, subList now contains : [element_3]
LinkedList now contains : [element_1, element_3, element_4, element_5]
This was an example of how to obtain a subList of a LinkedList in Java.