ArrayList.subList(int, int): This method is available in java.util.ArrayList class of Java.
Syntax:
List<E> java.util.ArrayList.subList(int fromIndex, int toIndex)
This method takes two arguments of type int as its parameters. This method returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive.
Parameters: Two parameters are required for this method.
fromIndex: low end point (inclusive) of the subList.
toIndex: high end point (exclusive) of the subList.
Returns: a view of the specified range within this list.
Throws:
1. IndexOutOfBoundsException - for an illegal endpoint index value(fromIndex < 0 || toIndex > size ||fromIndex > toIndex).
2. IllegalArgumentException - if the end point indices are out of order (fromIndex > toIndex)
Approach 1: When no exception
Java
import java.util.ArrayList;public class ArrayListsubList {public static void main(String[] args) {ArrayList<Integer> arr = new ArrayList<>();arr.add(1);arr.add(2);arr.add(355);arr.add(3);arr.add(4);arr.add(100);arr.add(34);System.out.println(arr.subList(1, 4));}}
Output:
[2, 355, 3]
Approach 2: IndexOutOfBoundsException
Java
import java.util.ArrayList;public class ArrayListsubList {public static void main(String[] args) {ArrayList<Integer> arr = new ArrayList<>();arr.add(1);arr.add(2);arr.add(355);arr.add(3);arr.add(4);arr.add(100);arr.add(34);System.out.println(arr.subList(-1, 4));}}
Output:
Exception in thread "main" java.lang.IndexOutOfBoundsException: fromIndex = -1 at java.base/java.util.AbstractList.subListRangeCheck(AbstractList.java:505) at java.base/java.util.ArrayList.subList(ArrayList.java:1108)
Approach 3: IllegalArgumentException
Java
import java.util.ArrayList;public class ArrayListsubList {public static void main(String[] args) {ArrayList<Integer> arr = new ArrayList<>();arr.add(1);arr.add(2);arr.add(355);arr.add(3);arr.add(4);arr.add(100);arr.add(34);System.out.println(arr.subList(5, 4));}}
Output:
Exception in thread "main" java.lang.IllegalArgumentException: fromIndex(5) > toIndex(4) at java.base/java.util.AbstractList.subListRangeCheck(AbstractList.java:509) at java.base/java.util.ArrayList.subList(ArrayList.java:1108)
No comments:
Post a Comment