3 - Passando arrays para métodos

Os métodos podem receber parâmetros do tipo array. A passagem de arrays para métodos é bastante eficiente em java, pois sendo as variáveis do tipo array referenciadas, isso significa que não há nenhuma cópia de dados na memória. O que é passado para o método é o endereço de memória onde os dados do array estão armazenados, tornando esse processo muito mais rápido e eficiente. Para exemplificar, vamos criar no mesmo projeto anterior a classe biblioteca, conforme abaixo.

Exemplo_2_2_003: exemplo de passagem de array como parâmetro para a função.

/**
* A instância dessa classe armazena uma coleção de livros
* @autor Andrei
*
*/
public class biblioteca {
    
    livro[] livros;
    int quantidade;
    
    /**
   * Método construtor da classe
   * 
   * @param array de livros a serem armazenados
   * */
    public biblioteca(livro[] livros){
        this.quantidade=livros.length;
        this.livros = new livro[this.quantidade];
        for(int i=0;i<this.quantidade;i++){
            this.livros[i]=new livro(livros[i].getTitulo(),livros[i].getAutor(),livros[i].getData(),livros[i].getEditora());
        }
    }
    /**
   * Imprime todos os livros da biblioteca
   * 
   * @param não recebe parâmetros
   * @return não possui valor de retorno
   * */
    public void imprimeTodos(){
        for(int i=0;i<livros.length;i++){
            System.out.println( "Título: " + livros[i].getTitulo() );
            System.out.println( "Autor: " + livros[i].getAutor() );
            System.out.println( "Data: " + livros[i].getData() );
            System.out.println( "Editora: " + livros[i].getEditora() );
            System.out.println( "---------------------------------" );
        }
    }
    public static void main(String[] args) {
        livro[] livros = new livro[10];
        livros[0] = new livro ("Java Para Iniciantes", "Luis Carlos Moreira da Costa",1998, "Ciencia Moderna");
        livros[1] = new livro ("Livro - Programação em Java: Curso Completo", "Pedro Coelho",2014, "FCA");
        livros[2] = new livro ("Livro - Java Para Iniciantes", "Herbert Schildt",2013, "Bookman");
        livros[3] = new livro ("Programação com Java: Uma Introdução Abrangente", "Herbert Schildt/Dale Skrien",2013, "Bookman");
        livros[4] = new livro ("Use a Cabeça! Java", "Kathgy Sierra & Bert Bates",2007, "Alta Books");
        livros[5] = new livro ("Programação Java para a Web", "Décio Heinzelmann Luckow",2010, "Novatec");
        livros[6] = new livro ("Programação de Computadores em Java", "Rui Rossi dos Santos",2014, "Nova Terra");
        livros[7] = new livro ("Java 7 - Ensino Didático", "Sérgio Furgeri",2010, "Erica");
        livros[8] = new livro ("Java", "Rui Rossis",2013, "Nova Terra");
        livros[9] = new livro ("Java 7", "Sérgio Furgeri",2008, "Erica");
        
        biblioteca biblio = new biblioteca(livros);
        biblio.imprimeTodos();
    }
}

No exemplo 2_2_003 o construtor recebe como parâmetro um array de livros que serão armazenados na instância do objeto que chamamos de biblio (linha 59).

Copyright © 2014 AIEC.