The subList() method of java.util.CopyOnWriteArrayList class is used to return a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If fromIndex and toIndex are equal, the returned list is empty.)
The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa. The returned list supports all of the optional list operations.
Syntax:
Java
Java
public List subList(int fromIndex, int toIndex)Parameters: This method takes the following argument as a parameter.
- fromIndex - low endpoint (inclusive) of the subList
- toIndex - high endpoint (exclusive) of the subList
// Java program to demonstrate
// subList() method
// for String value
import java.util.*;
import java.util.concurrent.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of CopyOnWriteArrayList<Integer>
CopyOnWriteArrayList<String>
arrlist = new CopyOnWriteArrayList<String>();
// Populating arrlist1
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
arrlist.add("E");
// print arrlist
System.out.println("Original arrlist: "
+ arrlist);
// getting the subList
// using subList() method
List<String> arrlist2 = arrlist.subList(2, 4);
// print the subList
System.out.println("Sublist of arrlist: "
+ arrlist2);
}
catch (IndexOutOfBoundsException e) {
System.out.println("Exception thrown: " + e);
}
}
}
Output:
Example 2: For IndexOutOfBoundsException
Original arrlist: [A, B, C, D, E] Sublist of arrlist: [C, D]
// Java program to demonstrate
// subList() method
// for IndexOutOfBoundsException
import java.util.*;
import java.util.concurrent.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of CopyOnWriteArrayList<Integer>
CopyOnWriteArrayList<String>
arrlist = new CopyOnWriteArrayList<String>();
// Populating arrlist1
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
arrlist.add("E");
// print arrlist
System.out.println("Original arrlist: "
+ arrlist);
// getting the subList
// using subList() method
System.out.println("\nEnd index value is out of range");
List<String> arrlist2 = arrlist.subList(2, 7);
// print the subList
System.out.println("Sublist of arrlist: "
+ arrlist2);
}
catch (IndexOutOfBoundsException e) {
System.out.println("Exception thrown: " + e);
}
}
}
Output:
Original arrlist: [A, B, C, D, E] End index value is out of range Exception thrown: java.lang.IndexOutOfBoundsException