O documento discute as coleções do Java, especificamente listas. Apresenta as principais implementações de listas como ArrayList e LinkedList, e explica que elas resolvem problemas comuns de arrays, como busca, remoção e tamanho variável de elementos. Também aborda conceitos como ordenação e comparabilidade de objetos.
2. Arrays
● Problematicos?
● Tamanho pré-definido
● Não redimensionaveis
● Procurar um elemento sem saber o seu indice
● Quantas posições já foram populadas
3. Collections
● Pacote java.util
● Classes e interfaces
● Estruturas de dados avançadas
● Resolver problemas comuns de maneira simples
● Não reinventar a roda
6. Listas
● Listas: java.util.List
● É uma coleção que permite elementos duplicados e
mantém uma ordenação específica entre os elementos.
● Resolve problemas em relação ao array (busca, remoção,
tamanho “infinito”, …)
● Diversas implementações disponíveis, com formas
diferentes de representar uma lista
7. ArrayList
● java.util.ArrayList implements java.util.List
● Implementação mais utilizada
● Trabalha com um array interno para gerar uma lista
● Rápida em executar buscas
● ArrayList não é um array
8. ArrayList
● Criar uma lista
ArrayList lista = new ArrayList()
● Também pode ser feito pela interface List
List lista = new ArrayList()
● Adicionar elementos
lista.add(“Primeiro”)
lista.add(2)
9. ArrayList
● Total elementos de uma lista
System.out.println(lista.size())
● Iterar sobre uma lista
for (int i = 0; i < lista.size(); i++) {
System.out.println(lista.get(i))
}
● Outros metodos como: remove, contains, set, subList
10. Outras implementações de List
● java.util.LinkedList implements java.util.List
● Outra implementação de java.util.List, bem parecida com
ArrayList, porém mais performatica na inserção e remoção
de itens nas pontas da lista
● java.util.Vector implements java.util.List
● Implementação presente desde a versão 1.0, funcionalidade
bastante parecida com o ArrayList
● Pensada para ser executada em ambientes concorrentes
● Perda de performance em ambientes não concorrentes
11. Outras implementações de List
● Visão da Interface java.util.List e suas principais
implementações
12. Ordenação
● java.util.Collections.sort()
List lista = new ArrayList();
lista.add(“Thiago”);
lista.add(“Guilherme”);
lista.add(“Pedro”);
System.out.println(lista)
Collections.sort(lista)
System.out.println(lista)
13. Comparando
● Objetos precisam ser comparaveis
● Para o funcionamento do sort, existe um criterio de
comparação que deve ser especificado
● Entra em ação a interface java.lang.Comparable
● Para poderem ser ordenados, os objetos devem
implementar a interface Comparable e sobrescrever o
metodo compareTo()
14. Outros métodos de Collections
● binarySearch(List, Object)
● max(Collection)
● min(Collection)
● reverse(List)
● Entre outros
● Relembrando a classe utilitaria de array, a java.util.Arrays