Dúvida em ArrayList

Oi pessoal, sou novato em java e tenho uma dúvida:
Criei uma ArrayList “fulanos” que é uma Coleção de Alunos (tamanho 16 posições), instanciei um aluno “a” e coloquei “a” dentro do ArrayList “fulanos”.
Logo em seguida Declarei uma variável Aluno “c” e atribui à ela, o aluno que está no índice zero do ArrayList “fulanos”(nesse caso o aluno a).

public static void main(String args[]) {
		ArrayIndexListObject fulanos = new ArrayIndexListObject();
		Aluno a = new Aluno();
		fulanos.add(fulanos.size(), a);
		Aluno c = (Aluno)fulanos.get(0);
		System.out.println(c);
		}

Só que depois de compilar aparece o seguinte erro:
Exception in thread “main” java.lang.IndexOutOfBoundsException: Illegal index: 0
at Exercícios.ArrayIndexListObject.checkIndex(ArrayIndexListObject.java:68)
at Exercícios.ArrayIndexListObject.get(ArrayIndexListObject.java:25)
at Exercícios.Aluno.main(Aluno.java:40)

O que eu fiz de errado e como deve ser a maneira correta de se retirar o Aluno do ArrayList, para utilizar seus métodos?
Valeu…

A exceção “IndexOutOfBoundsException” mostra que você indicou um index que de certa forma não existe na lista ou forge de sua capacidade.

Como é a estrutura dessa classe ArrayIndexListObject, que você está usando?

Olá DouglasJavaK, antes de mais nada, seja bem vindo no mundo Java.

Bom eu fiz um exemplo simpes da implementação de ArrayList.

Veja se se adequa em seu cenário. Qualquer coisa, estamos aqui, para ajudar e sermos ajudados…

Bom vamos começar com uma classe auxiliar, não sei como esta a sua mas fiz a minha…

package br.com.array;
public class Pessoa {	
	private String nome;
	private int idade;
	
	public Pessoa(String nome, int idade){
		this.nome=nome;
		this.idade=idade;
	}
	private void setNome(String nome) {
		this.nome = nome;
	}
	//privado para evitar interacao direta de fora
	public String getNome() {
		return nome;
	}
	
	//privado para evitar interacao direta de fora
	private void setIdade(int idade) {
		this.idade = idade;
	}
	public int getIdade() {
		return idade;
	}	
	public void andar(){}
	public void comer(){}	

}

Agora a classe com o main…

package br.com.array;
import java.util.ArrayList;
public class Principal {	
	public static void main(String args[]){		
		ArrayList<Pessoa> listaDosCabras = new ArrayList<Pessoa>();		
		Pessoa p = new Pessoa("Nome do Fulano", 21);
		listaDosCabras.add(p);		
		System.out.println("Segue elemento 0:" + listaDosCabras.get(0).getNome());	
	}
}

Espero ter ajudado…

ps: se vai mexer com ArrayList, vale a pena dar uma pesquisada sobre o “iterator()”

Abraços…

Olá, DouglasJavaK. Tente modificar esta linha:

fulanos.add(fulanos.size(), a);

POR ESTA:

fulanos.add(a);

E veja se funciona.

Valeu pessoal!!!
Consegui compilar sem ocorrer aquele erro…
Abraço.