array e arraylist lpoo – 01/09/14. arrays – estruturas de dados consistindo em itens de dados...

28
Array e ArrayList LPOO – 01/09/14

Upload: anna-alencar-faro

Post on 07-Apr-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

Array e ArrayList

LPOO – 01/09/14

Page 2: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Arrays – Estruturas de dados consistindo em itens de dados

relacionados do mesmo tipo.

– Permanecem com o mesmo tamanho depois de criados. (DECLARAÇÃO)

Page 3: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Grupo de variáveis(chamados elementos) contém valores do mesmo tipo.

• Arrays são objetos, portanto, são tipos por referência.

• Os elementos podem ser tipos primitivos ou tipos por referência.

Page 4: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Referencia um determinado elemento em um array.

• Use o índice dos elementos.

• Expressão de acesso a array —o nome do array seguido pelo índice do elemento particular entre colchetes, [ ].

Page 5: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• O primeiro elemento em cada array tem índice zero.

• O índice mais alto em array é um a menos que o número de elementos no array.

• Nomes de array seguem as mesmas convenções que outros nomes de variável.

Page 6: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho
Page 7: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Objetos array– Criados com palavra-chave• new. – Especifica o tipo de elemento e o número de elementos em

uma expressão de criaçãode array, que retorna uma referência que pode ser armazenada em uma variável de array.

• Declaração e expressão de criação de arrays de 12 elementos int

int[] c =new int[ 12];

• Pode ser realizado em duas etapas como segue:

int[] c; // declara a variável de arrayc = new int[ 12]; // cria o array

Page 8: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Importante!• Quando um array é criado, cada elemento do

array recebe um valor padrão.– Zero para os elementos numéricos de tipo

primitivo, falsepara elementos booleane nullpara referências

Page 9: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho
Page 10: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Cada elemento de um array do tipo primitivo contém um valor do tipo de elemento declarado do array.

– Cada elemento de um array inté um valor int.

– Cada elemento de um array de tipo por referência é uma referência a um objeto do tipo de elemento declarado no array.

– Cada elemento de um array Stringé uma referência a um objeto String.

Page 11: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Exercício– Criar um array de 10 elementos int, que são

inicialmente zero (o padrão para variáveis int).

Page 12: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Inicializador de array.– Uma lista de expressões separadas por vírgulas

(chamadas lista de inicializadores) entre chaves. – Utilizado para criar um array e inicializar seus

elementos.• O comprimento, ou tamanho, do array é

determinado pelo número de elementos na lista inicializadora. int[] n = { 10, 20, 30, 40, 50};

• Cria um array de ? elementos com valores de índice ?–?.

Page 13: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Exercício

• Faça um programa que peça 3 números inteiros ao usuário, armazene em um Array, depois mostre o valor de cada elemento do array, assim como seu índice.

Page 14: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Exercicio 2 • Faça um aplicativo Java que peça o nome de

5 alunos, receba as duas notas e depois retorne todas essas informações junto com a média dele.

Page 15: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

ArrayList

Page 16: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• A Java API fornece várias estruturas de dados predefinidas, chamadas coleções, utilizadas para armazenar grupos de objetos relacionados.

• Fornecem métodos eficientes que organizam, armazenam e recuperam seus dados sem que seja necessário conhecer como os dados são armazenados.

Page 17: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Arrays não mudam automaticamente de tamanho em tempo de execução para acomodar elementos adicionais.

• ArrayList<T>(pacote java.util) pode alterar dinamicamente seu tamanho para acomodar mais elementos.

Page 18: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• ArrayList<T> - T é um espaço reservador para o tipo de elemento armazenado na coleção.

• Isso é semelhante a especificar o tipo ao

declarar um array, exceto que apenas tipos não primitivos podem ser utilizados com essas classes de coleção.

Page 19: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho
Page 20: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

Como declarar e usar ArrayList em Java

• Vamos usar um ArrayList de String para trabalhar com o nome de várias bandas de música:

ArrayList<String> bandas = new ArrayList<String> ();

Page 21: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Após declarar a ArrayList 'bandas' que armazenará Strings, vamos adicionar alguns nomes.

Primeiro adicionamos a banda "Rush":

bandas.add("Rush");

Page 22: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Existe um método do ArrayList chamado 'toArray()' que coloca todos os elementos de um ArrayList em um Array.

Ou seja: bandas.toArray() é um Array!

Existe um método 'toString' da classe Arrays que retorna uma String com os elementos de um Array. Vamos usar esse método parar exibir todos os elementos do ArrayList, que transformamos em Array através do método 'toArray()':

Arrays.toString( bandas.toArray() );

Page 23: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Vamos pegar o primeiro elemento, o elemento '0', através do método 'get':

bandas.get(0);

Vamos adicionar o "Tiririca" na posição do "Rush", ou seja, na posição '0':bandas.add(0,"Tiririca");oubandas.add( bandas.indexOf("Rush"), "Tiririca");

Page 24: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Para saber o tamanho que tem seu ArrayList, basta usar o método 'size()':

bandas.size();

Remova "Tiriricabandas.remove("Tiririca");

Remova tudobandas.clear();

Page 25: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

ArrayList de Objetos

Page 26: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Ele permite fazer uma coleção de valores e/ou objetos, ou seja, ele aceita valores primitivos e objetos.

• É extremamente fácil de utilizar, pois não é necessário inicializar ele com um tamanho fixo, ele trabalha com um tamanho variável. Sendo que em qualquer momento você pode adicionar elementos e remover elementos.

Page 27: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

Iniciando...

Page 28: Array e ArrayList LPOO – 01/09/14. Arrays – Estruturas de dados consistindo em itens de dados relacionados do mesmo tipo. – Permanecem com o mesmo tamanho

• Criar classe “Usuario”– Atributos: id, nome, sobrenome;

• Criar classe “Main”– Instanciar Classe Usuario– Declarar ArrayList < Usuario > – Adicionar Elementos.– Remover Elementos– Exibir Alementos – toString– Alterar Elementos