Você está aqui: Java ::: Coleções (Collections) ::: ArrayList |
Como retornar uma sub-lista de elementos a partir de uma ArrayListQuantidade de visualizações: 12276 vezes |
A classe ArrayList herda o método subList() da interface java.util.List. Este método permite obter uma sublista de elementos de uma ArrayList. Para isso, só precisamos fornecer ao método subList() o índice inicial e o índice final dos elementos que comporão a sub-lista. Note que o índice final não entra na contagem dos elementos a serem retornados. Antes, veja a assinatura do método subList(): List<E> subList(int fromIndex, int toIndex) Note que o retorno do método é um objeto da interface List. Veja o exemplo: import java.util.*; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na primeira lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Zacarias"); // vamos obter um sub-lista da primeira lista // o resultado será: Maria, Fernanda e Osmar List<String> nomes2 = nomes.subList(1, 4); // vamos exibir o resultado for(int i = 0; i < nomes2.size(); i++){ System.out.println(nomes2.get(i)); } System.exit(0); } } Pode ser tentador obter a sub-lista como uma ArrayList. Veja: ArrayList<String> nomes2 = (ArrayList)nomes.subList(1, 4); Este código compila no Java 1.6, com @SuppressWarnings("unchecked"), mas, apresenta o seguinte erro em tempo de execução: Exception in thread "main" java.lang.ClassCastException: java.util.RandomAccessSubList cannot be cast to java.util.ArrayList at Estudos.main(Estudos.java:18) Assim, melhor ficarmos mesmo com List e abrir mão de ArrayList para estes casos. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
AutoCAD .NET API C# - Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# API |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |