1
resposta

[Sugestão] Devemos importar o método size que retorna o total de elementos. Do contrario, é lançada uma exception tipo IndexOutOfBoundsException.

package br.alura.com;
import java.util.ArrayList;

public class Testandoapenas {
       public static void main(String[] args) {

            String curso1 = "Java 8: Tire proveito dos novos recursos da linguagem";
            String curso2 = "Apache Camel";
            String curso3 = "Certificacao Java SE 8 Programmer I";

            ArrayList<String> cursos = new ArrayList<>();
            cursos.add(curso1);
            cursos.add(curso2);
            cursos.add(curso3);        

            for (int i = 0; i <= cursos.size(); i++) {
                System.out.println("Aula : " + cursos.get(i));
            }
        }
    }
1 resposta

Olá Ricardo, tudo bem?

Ao analisar o código que você postou, percebi que o problema está no laço de repetição for utilizado para percorrer a lista de cursos. O erro ocorre porque a condição do laço é i <= cursos.size(), ou seja, ele está tentando acessar um índice que não existe na lista.

Para corrigir isso, você pode alterar a condição do laço para i < cursos.size(). Dessa forma, o laço irá percorrer todos os elementos da lista sem tentar acessar um índice inexistente.

Sobre a sua pergunta, não é necessário importar o método size() da classe ArrayList, pois ele já faz parte da biblioteca padrão do Java.

Espero ter ajudado e bons estudos!