package com.subList.demo;
import java.util.ArrayList;
import java.util.List;
/**
* This Java Example shows how to get sub list of java ArrayList using subList method.
*
* @author abdul
*/
public class SubListDemo {
public static void main(String args[]) {
//create an ArrayList object
List<String> list = new ArrayList<String>();
int range = 4;
//Add elements to Arraylist
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
list.add("F");
list.add("G");
list.add("H");
list.add("I");
list.add("J");
list.add("K");
list.add("L");
list.add("M");
list.add("N");
list.add("O");
display("Displaying all elements of the list : ", list);
if(list.size() > range) {
int from = 0;
int to = range;
List<String> lt = null;
do {
//Check whether "to" value never exceeds from the list size
//otherwise it would throw error while fetching subList
if(list.size() - from > range ) {
// To get a sub list of Java ArrayList use List subList(int startIndex, int endIndex) method.
//This method returns an object of type List containing elements from startIndex to endIndex - 1
lt = list.subList(from, to);
display("SubList from " + from + " to " + to, lt);
} else {
lt = list.subList(from, list.size());
display("SubList from " + from + " to " + list.size(),lt);
}
from += range;
to += range;
}while(from < list.size());
} else {
display("Displaying all elements of the list : " , list);
}
}
/**
* Display elements of sub list.
* @param message
* @param list sublist of the list to print
*/
private static void display(String message,List<String> list) {
System.out.println(message + "\nList: " + list);
}
}
Output:
Displaying all elements of the list :
List: [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]
SubList from 0 to 4
List: [A, B, C, D]
SubList from 4 to 8
List: [E, F, G, H]
SubList from 8 to 12
List: [I, J, K, L]
SubList from 12 to 15
List: [M, N, O]
Related link:
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/List.html