← Back to POO/2. Coleções em Java
public class GrowingArray{
	private Circulo[] elementos;
	private int size;

	/**
	* variaável que determina o tamanho incial do array,
	* se for utilizado o construtor vazio
	*/
	private static final int capacidade_inicial = 20;

	public GrowingArray(int capacidade){
		this.elementos = new Circulo[capacidade];
		this.size = 0;
	}

	public GrowingArray(){
		this(capacidade_inicial);
	}


	/**
	* Método auxiliar que verifica se o array alocado them capacidade
	* para guardar mais elementos.
	* Por cada nova inserção, verifica se estamos a mais de metade do espaço
	* alocado e, caso se verifique, aloca mais 1.5 de capapcidade.
	*/
	private void aumentaCapacidade(int capacidade){
		if(capacidade > 0.5 * this.elementos.length){
			int nova_capapcidade = (int)(this.elementos.lenght * 1.5);
			this.elementos = Arrays.copyOf(this.elementos,novacapacidade);		
		}
	}

}
  • Ao fazer-se ArrayList passa a ser o compilador a testar , e validar, que só são utilizados objectos do tipo Aluno no ArrayList.
    • As colecções em Java beneficiam de auto-boxing e auto-unboxing, ie, a capacidade de converter automaticamente tipos primitivos para instâncias de classes wrapper.
      ->int para Integer, double para Double, etc.