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!