Baixe o app para aproveitar ainda mais
Prévia do material em texto
Coleções em Java Aula 14 O Que são coleções • uma coleção é uma estrutura de dados, na realidade um objeto, que pode armazenar ou agrupar referências a outros objetos. • Exemplos de coleção: – Listas; – Sets; – Mapas. – E os vetores para que servem? Vetores • Vetores (listas implementadas com array) são uma excelente alternaPva • …Maasss tem algumas limitações; • Adicionar um elemento na primeira posição de um Vetor, por exemplo, consome muito tempo, pois temos de deslocar todos os outros elementos uma posição para a frente. Vetores • Outra limitação com vetores: • não podemos redimensionar um array em Java; • não conseguimos saber quantas posições do array já foram populadas sem criar, para isso, métodos auxiliares. Vetores • Declarando vetores: int[] idades; idades = new int[10]; Vetores • No Java, os índices do array vão de 0 a n-‐1, onde n é o tamanho dado no momento em que você criou o array. Se você tentar acessar uma posição fora desse alcance, um erro ocorrerá durante a execução. Listas • Para manipular uma estrutura sem ter de alterar todos seus vizinhos, precisamos de algo que não seja fixo. Uma array é uma estrutura fixa na memória, precisamos sempre empurrar todos seus vizinhos para um lado para conseguir espaço, ou para remover algum dos elementos, para não deixar espaços vazios. Listas • Um primeiro recurso que a API de CollecPons traz são listas. – Uma lista é uma coleção que permite elementos duplicados e mantém uma ordenação específica entre os elementos. • tem a garanPa de que, quando percorrer a lista, os elementos serão encontrados em uma ordem pré-‐ determinada, definida na hora da inserção dos mesmos. • Ela resolve todos os problemas que levantamos em relação ao array (busca, remoção, tamanho "infinito",...). – Esse código já está pronto! UHUUUUU!!! • A API de CollecPons traz a interface java.uPl.List, que especifica o que uma classe deve ser capaz de fazer para ser uma lista. Listas • Para criar um ArrayList, basta chamar o construtor: • ArrayList lista = new ArrayList(); • List<String> lista= new ArrayList<>(); • List<Integer> lista= new ArrayList<>(); • List<Double> lista= new ArrayList<>(); Listas • Exemplos • Para criar uma lista de nomes (String), podemos fazer: lista.add("Manoel"); lista.add("Joaquim"); lista.add("Maria"); Listas • Exemplos • Para criar uma lista de números(String), podemos fazer: lista.add(4); lista.add(10); lista.add(3); Listas • quantos elementos há na lista? – método size(): – Exemplo: • System.out.println(lista.size()); Lista • Como iterar sobre a lista? • Como imprimir todos os elementos de uma lista? • Exemplo: for (int i = 0; i < lista.size(); i++) System.out.println(”imprime: ”+lista.get(i)); } Listas • O que mais elas podem oferecer? – Adiciona um dado aluno no fim da Lista. – Adiciona um dado aluno em uma dada posição. – Pega o aluno de dada posição. – Remove o aluno de dada posição. – Verifica se um dado aluno está armazenado. – Informar o número de alunos armazenados. Listas • Adiciona um dado aluno no fim da Lista. • Exemplo: lista.add( “Camila”); – Adiciona um dado aluno em uma dada posição. Exemplo: lista.add(5, “Gabriela”); Listas – Pega o aluno de dada posição. – Exemplo: – Lista.get(4); Listas – Remove o aluno de dada posição. – Exemplo: – lista.remove(“Raquel”); – lista.remove(5) Listas – Verifica se um dado aluno está armazenado. – Exemplo: – Lista.contains(“Gabriela”); Lista • Informar o número de alunos armazenados. • Exemplo: • lista.size(); Lista • Como ordenar uma lista? – Vimos anteriormente que as listas são percorridas de maneira pré-‐determinada de acordo com a inclusão dos itens. Mas, muitas vezes, queremos percorrer a nossa lista de maneira ordenada. – A classe CollecPons traz um método estáPco sort que recebe um List como argumento e o ordena por ordem crescente. – Por exemplo: – CollecPons.sort(lista);
Compartilhar