Obtenir une sublist de ArrayList en Java

Pour obtenir une portion de la liste ArrayList en Java, utilisez la méthode subList() de la classe ArrayList.

List subList(int fromIndex, int toIndex)

fromIndex est inclut et toIndex exclut ( [fromIndex, toIndex[ ). Cette méthode retourne un object de type list donc, pour stocker la sous-liste dans un autre ArrayList, on a besoin de créer cette ArrayList à partir de List: new ArrayList(input.subList(fromIndex, toIndex)) . Par contre si on stocke la sous-liste obtenue dans une List alors, il n'y a aucun soucis, comme dans l'exemple.

import java.util.ArrayList;
import java.util.List;

public class ArrayListSublist {

public static void main(String[] args) {

// Créer un ArrayList<String>
ArrayList<String> aList = new ArrayList<String>();

//ajouter des chaines de caractères à ArrayList
aList.add("1");
aList.add("2");
aList.add("3");
aList.add("4");
aList.add("5");

System.out.println("ArrayList");
for(String e:aList)
System.out.println(e);

List list = aList.subList(1, 4);

System.out.println("ArrayList ");
for(int i=0; i< list.size();i++)
System.out.println(list.get(i));
}
}
Exécution:

ArrayList 
1
2
3
4
5
ArrayList
2
3
4
Remaque:
La méthode subList() lève l'exception IndexOutOfBoundsException si l'indice spécifié est inférieur à 0 ou dépasse la taille.
IllegalArgumentException si l'indice de début (fromIndex) est plus grand que l'indice de la fin (toIndex), en d'autres termes fromIndex > toIndex.