









Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
programação java ArreyList/LinkedList, conceito, metodos
Tipologia: Manuais, Projetos, Pesquisas
1 / 16
Esta página não é visível na pré-visualização
Não perca as partes importantes!










Curso Diurno TURMA A
PROJECTO REFERENTE A CADEIRA DE PROGRAMAÇÃO II
Interface list ( ArrayList e LinkedList)
Tete, 2020
Nasda Salvador Paulene Tarquínio Jaime Beira
Tema:
Interface list ( ArrayList e LinkedList)
Trabalho apresentado ao curso de Licenciatura em Eng.Informatica ao Instituto Superior Politécnico de Tete, como requisito ao obtenção de classificação, avaliação. Ministrado pelo docente: Lourenço Sansão
Tete, 2020
Introdução
O presente trabalho versa sobre interface list ( ArrayList e LinkedList) onde estaca-se conceitos básicos, criação de uma lista usando ArrayList e LinkedList, métodos usando e exemplos.
Uma lista é uma colecção de valores que permite elementos duplicados e mantém uma ordenação específica entre os elementos.
Uma instância de List, provê os recursos de busca, adição, remoção e tamanho flexível, no entanto a ordenação é pré-defina de acordo com cada implementação, sendo assim, ao inserir um objecto em uma lista a ordenação do mesmo já foi definida.
1. Interface List
A interface java.util.List extende da interface java.util.Collection. É a interface que mais uso quando preciso trabalhar com collections. Sempre que preciso criar uma coleção, esta é a interface que uso juntamente com a implementação java.util.ArrayList.
A partir do Java 5, o conceito de Generics foi adicionado ao Java, assim, é possível criar listas “tipadas”, por exemplo, uma lista de String, Integer, ou um tipo próprio do seu negócio. Antes disso, só lista de Object.
1.1. ArrayList
O problema com os arrays é que eles são de comprimento fixo. Se estiver cheio, você não pode adicionar mais elementos a ele.
Da mesma forma se houver um número de elementos removidos, o consumo de memória seria o mesmo que não encolher.
Por outro lado, o java.utilArrayList pode crescer e diminuir dinamicamente após a adição e remoção de elementos.
Além desses benefícios, a classe java.utilArrayList nos permite usar métodos pré- definidos que facilitam nossa tarefa. Por exemplo implementar critérios de ordenação com poucas linhas de código.
Criando uma Lista em Java usando a Classe ArrayList Para criar uma lista usando a Classe ArrayList do Java, escreva em seu programa seguinte linha de código:
Tipo: tipo do objeto que você quer guarda na lista. Ex: Integer, String, etc. Exemplo:
Para visualizar todo os lados da lista na forma de uma String use o método toString(), desta forma:
Vamos aplicar esse método no exemplo em que criamos uma lista de anos, ficar á desta maneira:
Removendo elementos de uma Lista Para remover um dado da lista utilizamos o método remove() da classe ArrayList. O método remove() funciona da seguinte forma:
Vamos aplicar esse método no exemplo em que criamos uma lista de anos, ficar á desta maneira:
Outra forma de usar o método remove() é passando para o método o objecto que você quer remover. Ficando desta forma:
Exemplo:
Acessando elementos da Lista Para acessar um valor de uma determinada lista usamos o método get() da classe ArrayList dessa forma:
Exemplo:
Temos métodos na classe ArrayList para auxiliar na interacção da lista, ou seja, percorrer a lista acessando os seus valores em todas as direcções possíveis. Esses métodos precisam, além da lista que iram auxiliar a percorre, um objecto do tipo ListIterator onde esse objecto ser á como um leitor de posições da lista que pode percorrer a lista em todos os sentidos possíveis. Vamos entender melhor com o seguinte exemplo: Vamos criar uma lista em Java, usando a classe ArrayList, para guardar o nome das linhas de ônibus de Fortaleza.
De forma semelhante ao método hasNext() e método next() podemos ainda usar em nossos programas Java os seguintes métodos:
Métodos para auxiliar percorrem uma Lista usando a classe ArrayList hasNext(): retorna true se o elemento lido pelo percorredorLista tem sucessor, caso contrário retorna false; hasPrevious(): retorna true se o elemento lido pelo percorredorLista tem antecessor, caso contrário retorna false; next(): faz o percorre Lista avançar para a posição seguinte da lista e retornar o novo valor lido; previous(): faz o percorre Lista retroceder para a posição anterior da lista e retornar o novo valor lido; nextIndex(): retorna o índice do elemento sucessor ao elemento lido pelo percorreLista;
previousIndex(): retorna o índice do elemento antecessor ao elemento lido pelo percorreLista;
Pesquisando elementos na Lista Pesquisar um elemento na lista é bastante simples. Vamos usar o método indexOf() que se encontra na classe ArrayList para pesquisa em uma lista. Esse método retorna o valor do índice do objecto procurado se ele existir na lista, caso contrário retorna - 1.
Exemplo:
1.2. LinkedList
A outra implementação de List é o LinkedList. Como o nome mesmo diz, é a implementação para lista ligada. Fornece métodos adicionais para tratar as extremidades da lista, é possível obter e remover o primeiro ou o último elemento da lista.
Métodos para Java LinkedList: add (int index, elemento E): este método Insere o elemento especificado na posição especificada nesta lista.
add (E e): este método anexa o elemento especificado ao final desta lista. addAll (índice int, Colecção c): Este método Insere todos os elementos da colecção especificada nesta lista, iniciando na posição especificada. addAll (Colecção c): Este método Anexa todos os elementos da colecção especificada ao final desta lista, na ordem em que são retornados pelo iterador da colecção especificada. addFirst (E e): Este método Insere o elemento especificado no início desta lista. addLast (E e): este método Anexa o elemento especificado ao final desta lista.
pollLast (): este método recupera e remove o último elemento desta lista ou retorna nulo se esta lista estiver vazia.
pop (): esse método abre um elemento da pilha representada por esta lista.
push (E e): este método Coloca u---m elemento na pilha representada por esta lista.
remove (): este método recupera e remove o cabeçalho (primeiro elemento) desta lista.
remove (int index): este método remove o elemento na posição especificada nesta lista.
remove (Object o): Este método remove a primeira ocorrência do elemento especificado desta lista, se estiver presente.
removeFirst (): este método remove e retorna o primeiro elemento desta lista.
removeFirstOccurrence (Object o): Este método remove a primeira ocorrência do elemento especificado nesta lista (ao percorrer a lista da cabeça à cauda).
removeLast (): este método remove e retorna o último elemento desta lista.
removeLastOccurrence (Object o): Este método remove a última ocorrência do elemento especificado nesta lista (ao percorrer a lista da cabeça à cauda).
set (índice int, elemento E) : esse método substitui o elemento na posição especificada nesta lista pelo elemento especificado.
size (): este método retorna o número de elementos nesta lista.
spliterator (): este método Cria um Spliterator com ligação tardia e com falha rápida sobre os elementos desta lista.
toArray (): este método retorna uma matriz que contém todos os elementos nesta lista na sequência apropriada (do primeiro ao último elemento).
toArray (T [] a): Este método retorna uma matriz que contém todos os elementos desta lista na sequência apropriada (do primeiro ao último elemento); o tipo de tempo de execução da matriz retornada é o da matriz especificada.
Referências bibliográficas
Lambert, Kenneth Alfred (2009), "Physical size and logical size" , Fundamentals of Python: From First Programs Through Data Structures, Cengage Learning, p. 510, ISBN 1423902181
Goodrich, Michael T. ; Tamassia, Roberto (2002), "1.5.2 Analyzing an Extendable Array Implementation", Algorithm Design: Foundations, Analysis and Internet Examples, Wiley, pp. 39– 41_._
Cormen, Thomas H. ; Leiserson, Charles E. ; Rivest, Ronald L. ; Stein, Clifford (2001) [1990]. "17.4 Dynamic tables". Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill. pp. 416–424. ISBN 0-262-03293-.