Você está aqui: Java ::: Coleções (Collections) ::: ArrayList |
Como retornar uma sub-lista de elementos a partir de uma ArrayListQuantidade de visualizações: 12394 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(): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- List<E> subList(int fromIndex, int toIndex) Note que o retorno do método é um objeto da interface List. Veja o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






