AULA 61-62 this, ArrayList Curso: Informática (Subseqüente) Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes [email protected] this Observe o código abaixo: this Em alguns casos, o programador deseja usar o mesmo nome para os atributos (variáveis da classe) e para os parâmetros (variáveis dos métodos). Entretanto, como o compilador saberá a qual variável estamos nos referindo? Para isso existe a palavra chave this, que faz com que a variável da classe seja acessada. this Usando this estamos dizendo que a variável da classe chamada TITULO recebe a variável do método construtor Musica de mesmo nome. ArrayList Na maioria dos programas reais precisamos de mecanismos que nos permitam acrescentar ou remover elementos (objetos) durante a execução. Ex. Uma agenda deve permitir a inclusão de novos compromissos. Um cadastro deve permitir a inclusão de novos registros, etc. O fato é que de antemão não sabemos quantos elementos existirão em nosso conjunto. ArrayList Vamos criar um programa que representa um caderno de notas com as seguintes características: Permite o armazenamento de notas; Não tem limite quanto ao número de notas armazenadas; Pode mostrar notas individuais; Informa quantas notas existem atualmente armazenadas; ArrayList A classe ArrayList permite criar bibliotecas ou coleções de dados de tamanho variável. Deve-se importar java.util.ArrayList antes de usá-la. A declaração é feita da seguinte forma: ArrayList<TipoDeDado> nome; Exemplo: ArrayList<String> notas; notas ArrayList Podemos criar ArrayLists de qualquer tipo, inclusive de classes definidas por nós mesmos: ArrayList<Carro> concessionaria; ArrayList<Musica> mp3player; ArrayList<Livro> estante; ArrayList Após criar uma variável do tipo ArrayList, é preciso criar um objeto, da seguinte forma: notas = new ArrayList<String> notas (); ArrayList Para adicionarmos elementos a essa coleção, usamos o método add(). notas.add(“estudar”); notas estudar dormir acordar notas.add(“dormir”); notas.add(“acordar”); ArrayList Se quisermos saber a quantidade de elementos, podemos usar o método size(), que neste exemplo acima, retornará o valor inteiro 3. System.out.println(notas.size()); Cada elemento é representado por um número, começando em ZERO. notas estudar 0 dormir acordar 1 2 ArrayList Se quisermos acessar diretamente um desses elementos, podemos usar o método get( ) do objeto, informando qual o número do elemento: System.out.println(notas.get(1)); notas estudar 0 dormir acordar 1 2 A palavra “dormir” seria impressa na tela. ArrayList Observação sobre o método get(). Neste exemplo estamos retornando uma String, mas se estamos usando um ArrayList de um Tipo Não Padrão (ex. classe Música) temos que colocar uma variável desse tipo para receber o elemento. Ex: ArrayList<Musica> cd = new ArrayList(); Musica m = cd.get(1); m.tocar(); // acessamos os métodos e // valores por esta variável Implemente o código a seguir e teste as funcionalidades da classe. Próxima aula: Remover itens, percorrer lista. Outros métodos de ArrayList remove(int index) – remove o elemento indicado remove(objetct o) – remove o objeto se existe clear() – elimina todos os elementos contains(object o) – retorna verdadeiro se o objeto existe isEmpty() – retorna verdadeiro se está vazio set(int index, element e) – substitui o elemento da posição indicada pelo novo elemento Referências BARNES. KOLLING. Programação orientada a objetos com Java. Uma introdução prática usando o BlueJ. 4ed. Pearson, 2009. SIERRA, Kathy. BATES, Bert. Use a Cabeça! Java. 2ed. Alta Books, 2007.