logo

Classe LinkedList Java

Hierarquia de classes Java LinkedList

A classe Java LinkedList usa uma lista duplamente vinculada para armazenar os elementos. Ele fornece uma estrutura de dados de lista vinculada. Ele herda a classe AbstractList e implementa as interfaces List e Deque.

Os pontos importantes sobre Java LinkedList são:

  • A classe Java LinkedList pode conter elementos duplicados.
  • A classe Java LinkedList mantém o pedido de inserção.
  • A classe Java LinkedList não é sincronizada.
  • Na classe Java LinkedList, a manipulação é rápida porque nenhuma mudança precisa ocorrer.
  • A classe Java LinkedList pode ser usada como lista, pilha ou fila.

Hierarquia da classe LinkedList

Conforme mostrado no diagrama acima, a classe Java LinkedList estende a classe AbstractSequentialList e implementa interfaces List e Deque.

pandas e numpy

Lista Duplamente Vinculada

No caso de uma lista duplamente vinculada, podemos adicionar ou remover elementos de ambos os lados.

classe java LinkedList usando lista duplamente vinculada

Declaração de classe LinkedList

Vamos ver a declaração da classe java.util.LinkedList.

 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

Construtores de Java LinkedList

Construtor Descrição
LinkedList() É usado para construir uma lista vazia.
LinkedList (Coleção c) É utilizado para construir uma lista contendo os elementos da coleção especificada, na ordem em que são retornados pelo iterador da coleção.

Métodos de Java LinkedList

Método Descrição
adição booleana (E e) É usado para anexar o elemento especificado ao final de uma lista.
void add (índice int, elemento E) É usado para inserir o elemento especificado no índice de posição especificado em uma lista.
booleano addAll (Coleção c) É usado para anexar todos os elementos da coleção especificada ao final desta lista, na ordem em que são retornados pelo iterador da coleção especificada.
booleano addAll (Coleção c) É usado para anexar todos os elementos da coleção especificada ao final desta lista, na ordem em que são retornados pelo iterador da coleção especificada.
boolean addAll (índice int, coleção c) É usado para anexar todos os elementos da coleção especificada, começando na posição especificada da lista.
void addPrimeiro(E e) É usado para inserir um determinado elemento no início de uma lista.
void addLast(E e) É usado para anexar o elemento fornecido ao final de uma lista.
vazio claro() É usado para remover todos os elementos de uma lista.
Clone de objeto() É usado para retornar uma cópia superficial de um ArrayList.
booleano contém (Objeto o) É usado para retornar verdadeiro se uma lista contém um elemento especificado.
Iterador descendenteIterator() É usado para retornar um iterador sobre os elementos em um deque em ordem sequencial inversa.
Elemento E() É usado para recuperar o primeiro elemento de uma lista.
E get (índice interno) É usado para retornar o elemento na posição especificada em uma lista.
E getPrimeiro() É usado para retornar o primeiro elemento de uma lista.
E getÚltimo() É usado para retornar o último elemento de uma lista.
int indexOf(Objeto o) É usado para retornar o índice em uma lista da primeira ocorrência do elemento especificado, ou -1 se a lista não contiver nenhum elemento.
int lastIndexOf(Objeto o) É usado para retornar o índice em uma lista da última ocorrência do elemento especificado, ou -1 se a lista não contém nenhum elemento.
ListIterator listIterator(índice int) É usado para retornar um iterador de lista dos elementos na sequência adequada, começando na posição especificada na lista.
oferta booleana (E e) Adiciona o elemento especificado como o último elemento de uma lista.
oferta booleanaPrimeiro(E e) Ele insere o elemento especificado no início de uma lista.
oferta booleanaÚltimo(E e) Insere o elemento especificado no final de uma lista.
E espiar() Ele recupera o primeiro elemento de uma lista
E espiarPrimeiro() Ele recupera o primeiro elemento de uma lista ou retorna nulo se a lista estiver vazia.
E espiarÚltimo() Ele recupera o último elemento de uma lista ou retorna nulo se a lista estiver vazia.
Enquete E() Recupera e remove o primeiro elemento de uma lista.
E enquetePrimeiro() Ele recupera e remove o primeiro elemento de uma lista ou retorna nulo se a lista estiver vazia.
E enqueteÚltima() Ele recupera e remove o último elemento de uma lista ou retorna nulo se a lista estiver vazia.
E pop() Ele retira um elemento da pilha representado por uma lista.
impulso vazio (E e) Ele coloca um elemento na pilha representada por uma lista.
E remover() É usado para recuperar e remover o primeiro elemento de uma lista.
E remover (índice int) É usado para remover o elemento na posição especificada em uma lista.
remoção booleana (Objeto o) É usado para remover a primeira ocorrência do elemento especificado em uma lista.
E removerPrimeiro() Remove e retorna o primeiro elemento de uma lista.
booleano removeFirstOccurrence(Object o) É usado para remover a primeira ocorrência do elemento especificado em uma lista (ao percorrer a lista do início ao fim).
E removerÚltimo() Remove e retorna o último elemento de uma lista.
booleano removeLastOccurrence(Object o) Ele remove a última ocorrência do elemento especificado em uma lista (ao percorrer a lista do início ao fim).
Conjunto E (índice int, elemento E) Ele substitui o elemento na posição especificada em uma lista pelo elemento especificado.
Objeto[] paraArray() É usado para retornar um array contendo todos os elementos de uma lista na sequência adequada (do primeiro ao último elemento).
T[] paraArray(T[] a) Retorna um array contendo todos os elementos na sequência adequada (do primeiro ao último elemento); o tipo de tempo de execução da matriz retornada é o da matriz especificada.
tamanho interno() É usado para retornar o número de elementos de uma lista.

Exemplo de LinkedList Java

 import java.util.*; public class LinkedList1{ public static void main(String args[]){ LinkedList al=new LinkedList(); al.add('Ravi'); al.add('Vijay'); al.add('Ravi'); al.add('Ajay'); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } } 
 Output: Ravi Vijay Ravi Ajay 

Exemplo Java LinkedList para adicionar elementos

Aqui, vemos diferentes maneiras de adicionar elementos.

erro semântico
 import java.util.*; public class LinkedList2{ public static void main(String args[]){ LinkedList ll=new LinkedList(); System.out.println('Initial list of elements: '+ll); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); System.out.println('After invoking add(E e) method: '+ll); //Adding an element at the specific position ll.add(1, 'Gaurav'); System.out.println('After invoking add(int index, E element) method: '+ll); LinkedList ll2=new LinkedList(); ll2.add('Sonoo'); ll2.add('Hanumat'); //Adding second list elements to the first list ll.addAll(ll2); System.out.println('After invoking addAll(Collection c) method: '+ll); LinkedList ll3=new LinkedList(); ll3.add('John'); ll3.add('Rahul'); //Adding second list elements to the first list at specific position ll.addAll(1, ll3); System.out.println('After invoking addAll(int index, Collection c) method: '+ll); //Adding an element at the first position ll.addFirst('Lokesh'); System.out.println('After invoking addFirst(E e) method: '+ll); //Adding an element at the last position ll.addLast('Harsh'); System.out.println('After invoking addLast(E e) method: '+ll); } } 
 Initial list of elements: [] After invoking add(E e) method: [Ravi, Vijay, Ajay] After invoking add(int index, E element) method: [Ravi, Gaurav, Vijay, Ajay] After invoking addAll(Collection c) method: [Ravi, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addAll(int index, Collection c) method: [Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addFirst(E e) method: [Lokesh, Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addLast(E e) method: [Lokesh, Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat, Harsh] 

Exemplo Java LinkedList para remover elementos

Aqui, vemos diferentes maneiras de remover um elemento.

 import java.util.*; public class LinkedList3 { public static void main(String [] args) { LinkedList ll=new LinkedList(); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); ll.add('Anuj'); ll.add('Gaurav'); ll.add('Harsh'); ll.add('Virat'); ll.add('Gaurav'); ll.add('Harsh'); ll.add('Amit'); System.out.println('Initial list of elements: '+ll); //Removing specific element from arraylist ll.remove('Vijay'); System.out.println('After invoking remove(object) method: '+ll); //Removing element on the basis of specific position ll.remove(0); System.out.println('After invoking remove(index) method: '+ll); LinkedList ll2=new LinkedList(); ll2.add('Ravi'); ll2.add('Hanumat'); // Adding new elements to arraylist ll.addAll(ll2); System.out.println('Updated list : '+ll); //Removing all the new elements from arraylist ll.removeAll(ll2); System.out.println('After invoking removeAll() method: '+ll); //Removing first element from the list ll.removeFirst(); System.out.println('After invoking removeFirst() method: '+ll); //Removing first element from the list ll.removeLast(); System.out.println('After invoking removeLast() method: '+ll); //Removing first occurrence of element from the list ll.removeFirstOccurrence('Gaurav'); System.out.println('After invoking removeFirstOccurrence() method: '+ll); //Removing last occurrence of element from the list ll.removeLastOccurrence('Harsh'); System.out.println('After invoking removeLastOccurrence() method: '+ll); //Removing all the elements available in the list ll.clear(); System.out.println('After invoking clear() method: '+ll); } } 
 Initial list of elements: [Ravi, Vijay, Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking remove(object) method: [Ravi, Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking remove(index) method: [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] Updated list : [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit, Ravi, Hanumat] After invoking removeAll() method: [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking removeFirst() method: [Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking removeLast() method: [Gaurav, Harsh, Virat, Gaurav, Harsh] After invoking removeFirstOccurrence() method: [Harsh, Virat, Gaurav, Harsh] After invoking removeLastOccurrence() method: [Harsh, Virat, Gaurav] After invoking clear() method: [] 

Exemplo Java LinkedList para reverter uma lista de elementos

 import java.util.*; public class LinkedList4{ public static void main(String args[]){ LinkedList ll=new LinkedList(); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); //Traversing the list of elements in reverse order Iterator i=ll.descendingIterator(); while(i.hasNext()) { System.out.println(i.next()); } } } 
 Output: Ajay Vijay Ravi 

Exemplo Java LinkedList: Livro

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class LinkedListExample { public static void main(String[] args) { //Creating list of Books List list=new LinkedList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Saída:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6