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
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