logo

Lista Java

Lista em Java fornece a facilidade para manter o coleção ordenada . Ele contém métodos baseados em índice para inserir, atualizar, excluir e pesquisar os elementos. Também pode ter elementos duplicados. Também podemos armazenar os elementos nulos na lista.

A interface da lista é encontrada nojava.utilpacote e herda a interface Collection. É uma fábrica de interface ListIterator. Através do ListIterator, podemos iterar a lista nas direções para frente e para trás. As classes de implementação da interface List sãoListaArray,Lista vinculada, Pilha e Vetor. O ArrayList e o LinkedList são amplamente utilizados na programação Java. A classe Vector está obsoleta desde Java 5.

Declaração de interface de lista

 public interface List extends Collection 

Métodos de lista Java

Método Descrição
void add (índice int, elemento E) É usado para inserir o elemento especificado na posição especificada em uma lista.
adição booleana (E e) É usado para anexar o elemento especificado no final de uma lista.
booleano addAll (Coleção c) É usado para anexar todos os elementos da coleção especificada ao final de uma lista.
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.
vazio claro() É usado para remover todos os elementos desta lista.
booleano é igual (objeto o) É usado para comparar o objeto especificado com os elementos de uma lista.
código hash interno() É usado para retornar o valor do código hash para uma lista.
E get (índice interno) É usado para buscar o elemento de uma posição específica da lista.
booleano isEmpty() Retorna verdadeiro se a lista estiver vazia, caso contrário, retorna falso.
int lastIndexOf(Objeto o) É usado para retornar o índice nesta lista da última ocorrência do elemento especificado, ou -1 se a lista não contém este elemento.
Objeto[] paraArray() É usado para retornar um array contendo todos os elementos desta lista na ordem correta.
T[] paraArray(T[] a) É usado para retornar um array contendo todos os elementos desta lista na ordem correta.
booleano contém (Objeto o) Retorna verdadeiro se a lista contém o elemento especificado
booleano contémAll (Coleção c) Retorna verdadeiro se a lista contiver todos os elementos especificados
int indexOf(Objeto o) É usado para retornar o índice nesta lista da primeira ocorrência do elemento especificado, ou -1 se a Lista não contém este elemento.
E remover (índice int) É usado para remover o elemento presente na posição especificada da lista.
remoção booleana (Objeto o) É usado para remover a primeira ocorrência do elemento especificado.
booleano removeAll (Coleção c) É usado para remover todos os elementos da lista.
void replaceAll (operador UnaryOperator) É usado para substituir todos os elementos da lista pelo elemento especificado.
void reterAll (Coleção c) É usado para reter todos os elementos da lista que estão presentes na coleção especificada.
Conjunto E (índice int, elemento E) É usado para substituir o elemento especificado na lista, presente na posição especificada.
classificação nula (comparador c) É usado para classificar os elementos da lista com base no comparador especificado.
Divisor divisor() É usado para criar um divisor sobre os elementos de uma lista.
Lista subLista(int fromIndex, int toIndex) É usado para buscar todos os elementos que estão dentro de um determinado intervalo.
tamanho interno() É usado para retornar o número de elementos presentes na lista.

Lista Java vs ArrayList

List é uma interface enquanto ArrayList é a classe de implementação de List.

Como criar uma lista

As classes ArrayList e LinkedList fornecem a implementação da interface List. Vejamos os exemplos para criar a Lista:

 //Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList(); 

Resumindo, você pode criar a Lista de qualquer tipo. As classes ArrayList e LinkedList são usadas para especificar o tipo. Aqui, T denota o tipo.

Exemplo de lista Java

Vamos ver um exemplo simples de List onde estamos usando a classe ArrayList como implementação.

 import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Teste agora

Saída:

 Mango Apple Banana Grapes 

Como converter Array em Lista

Podemos converter o Array em Lista percorrendo o array e adicionando o elemento na lista um por um usando o método list.add(). Vamos ver um exemplo simples para converter elementos de array em Lista.

 import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } } 
Teste agora

Saída:

 Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++] 

Como converter lista em array

Podemos converter List em Array chamando o método list.toArray(). Vejamos um exemplo simples para converter elementos de lista em array.

diagrama de classes java
 import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } } 
Teste agora

Saída:

 Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry] 

Obter e definir elemento na lista

O método get() retorna o elemento no índice fornecido, enquanto o método set() altera ou substitui o elemento.

 import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Teste agora

Saída:

 Returning element: Apple Mango Dates Banana Grapes 

Como classificar a lista

Existem várias maneiras de classificar a lista, aqui usaremos o método Collections.sort() para classificar o elemento da lista. O java.util pacote fornece uma classe de utilitário Coleções que possui o método estático sort(). Usando o Coleções.sort() método, podemos classificar facilmente qualquer lista.

 import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } } 

Saída:

 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

Interface ListIterator Java

A interface ListIterator é usada para percorrer o elemento na direção para frente e para trás.

js carregar

Declaração da interface ListIterator

 public interface ListIterator extends Iterator 

Métodos de interface Java ListIterator:

Método Descrição
adição nula (E e) Este método insere o elemento especificado na lista.
booleano hasNext() Este método retorna verdadeiro se o iterador da lista tiver mais elementos ao percorrer a lista na direção direta.
E próximo() Este método retorna o próximo elemento da lista e avança a posição do cursor.
int próximoÍndice() Este método retorna o índice do elemento que seria retornado por uma chamada subsequente para next()
booleano hasAnterior() Este método retorna verdadeiro se este iterador de lista tiver mais elementos enquanto percorre a lista na direção inversa.
E anterior() Este método retorna o elemento anterior da lista e move a posição do cursor para trás.
E índice anterior() Este método retorna o índice do elemento que seria retornado por uma chamada subsequente a previous().
remoção nula() Este método remove o último elemento da lista que foi retornado pelos métodos next() ou previous()
conjunto vazio (E e) Este método substitui o último elemento retornado pelos métodos next() ou previous() pelo elemento especificado.

Exemplo de interface ListIterator

 import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } } 

Saída:

 Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit 

Exemplo de lista: livro

Vamos ver um exemplo de Lista onde estamos adicionando os Livros.

 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 ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and 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); } } } 
Teste agora

Saída:

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

Tópicos relacionados

ArrayList em Java

LinkedList em Java

Diferença entre ArrayList e LinkedList

Diferença entre Array e ArrayList

Quando usar ArrayList e LinkedList em Java

Diferença entre ArrayList e Vetor

Como comparar dois ArrayList em Java

Como reverter ArrayList em Java

Quando usar ArrayList e LinkedList em Java

Como tornar ArrayList somente leitura

retornando um array java

Diferença entre comprimento do array e tamanho() de ArrayList em Java

Como sincronizar ArrayList em Java

Como converter ArrayList em Array e Array em ArrayList em java

Array vs ArrayList em Java

Como classificar Java ArrayList em ordem decrescente

Como remover duplicatas de ArrayList em Java