The subList() method of java.util.ArrayList 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:
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
Returns Value: This method returns a view of the specified range within this list.
Exception: This method throws the following Exception.
- IndexOutOfBoundsException – if an endpoint index value is out of range (fromIndex size)
- IllegalArgumentException – if the endpoint indices are out of order (fromIndex > toIndex)
Below are the examples to illustrate the subList() method.
Example 1:
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
ArrayList<String>
arrlist = new ArrayList<String>();
arrlist.add( "A" );
arrlist.add( "B" );
arrlist.add( "C" );
arrlist.add( "D" );
arrlist.add( "E" );
System.out.println( "Original arrlist: "
+ arrlist);
List<String> arrlist2 = arrlist.subList( 2 , 4 );
System.out.println( "Sublist of arrlist: "
+ arrlist2);
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception thrown : " + e);
}
catch (IllegalArgumentException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Original arrlist: [A, B, C, D, E]
Sublist of arrlist: [C, D]
Example 2: For IndexOutOfBoundsException
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
ArrayList<String>
arrlist = new ArrayList<String>();
arrlist.add( "A" );
arrlist.add( "B" );
arrlist.add( "C" );
arrlist.add( "D" );
arrlist.add( "E" );
System.out.println( "Original arrlist: "
+ arrlist);
System.out.println( "\nEnd index value is out of range" );
List<String> arrlist2 = arrlist.subList( 2 , 7 );
System.out.println( "Sublist of arrlist: "
+ arrlist2);
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception thrown : " + e);
}
catch (IllegalArgumentException 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: toIndex = 7
Example 3: For IllegalArgumentException
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
ArrayList<String>
arrlist = new ArrayList<String>();
arrlist.add( "A" );
arrlist.add( "B" );
arrlist.add( "C" );
arrlist.add( "D" );
arrlist.add( "E" );
System.out.println( "Original arrlist: "
+ arrlist);
System.out.println( "\nEndpoint indices "
+ "are out of order"
+ " (fromIndex > toIndex)" );
List<String> arrlist2 = arrlist.subList( 7 , 2 );
System.out.println( "Sublist of arrlist: "
+ arrlist2);
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception thrown: " + e);
}
catch (IllegalArgumentException e) {
System.out.println( "Exception thrown: " + e);
}
}
}
|
Output:
Original arrlist: [A, B, C, D, E]
Endpoint indices are out of order (fromIndex > toIndex)
Exception thrown: java.lang.IllegalArgumentException: fromIndex(7) > toIndex(2)
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
22 Aug, 2019
Like Article
Save Article