Files
freeCodeCamp/guide/portuguese/java/collections/index.md
Maikel Sperandio c9d073b4ff Translate the comments (#27536)
Translation of some comments that was in English.
2019-08-15 20:40:55 -07:00

4.4 KiB

title, localeTitle
title localeTitle
Collections Coleções

Coleções

Uma coleção em Java é um grupo de objetos que podem ser ordenados (LinkedList) ou desordenados (Set). A interface Collection está no topo da hierarquia e todas as outras classes e interfaces se estendem a partir dessa interface. Está localizado no pacote java.util.

A interface Collection também estende a interface Iterable, o que significa que cada coleção em java deve ser iterável. Isso, por sua vez, significa que um loop for-each pode ser usado para buscá-los em uma sequência.

public interface Collection<E> extends Iterable<E> 

Alguns dos métodos mais comuns fornecidos por essa interface são:

boolean add(E e) // Adiciona elementos específicos do tipo <E>. Retorna true se a coleção foi modificada. 
 
void clear() // Remove todos os elementos da coleção. 
 
boolean contains(Object o) // Retorna true se o elemento estiver na coleção e false caso não esteja. Esse método leva em consideração os métodos equals e hashcode, portanto, esses precisam ser sobrescritos.
 
boolean isEmpty() // Retorna true se a coleção estiver vazia e false caso não esteja.
 
boolean remove(Object o) // Remove o elemento espefícifo e retorna true, caso não exista o elemento na coleção o método retorna false.
 
int size() // Retorna o número de itens contidos na coleção.

Estes e vários outros métodos devem ser implementados por qualquer classe que implemente a interface Collection.

Interfaces que estendem a interface da coleção

Outras interfaces importantes que estendem a interface de coleta são:

Conjunto: Uma coleção contendo apenas elementos exclusivos.

Fila: Implemente o comportamento da fila em que os elementos são adicionados apenas no início e removidos do final.

Lista: Esta coleção lida com uma lista / seqüência de objetos.

Essas quatro interfaces (Coleção, Conjunto, Fila, Lista) juntamente com SortedSet, Deque e NavigableSet formam a hierarquia coletiva da Coleção.

A classe LinkedList

LinkedList é uma das classes de coleção mais importantes que fornece uma implementação de lista duplamente vinculada. Implementa as interfaces List, Deque, Cloneable e Serializable.

Crie um LinkedList

LinkedList<Integer> intList = new LinkedList<Integer>(); // Cria um novo objeto LinkedList que aceitará apenas elementos do tipo Integer. 

Você também pode criar uma lista de qualquer outro tipo de objeto. Por exemplo

LinkedList<String> stringList = new LinkedList(); 
 
LinkedList<LinkedList<Integer>> listOfList = new LinkedList(); 

Nota: Todas as coleções em Java foram convertidas em tipos genéricos desde o JDK 1.5

Adicionar elementos à lista

intList.add(new Integer(1)); // Adiciona na lista um objeto Integer cujo valor é 1.
 
intList.add(2); // Também adiciona na lista um objeto Integer cujo valor é 2, porém vai obrigar o compilador a fazer um autoboxing do tipo primitivo int para o objeto do tipo Integer. 
 
 intList.addFirst(3); // Adiciona o elemento ao início da lista. 
 
 intList.addLast(2); // Adiciona o elemento ao final da lista.
 
 intList.add(2, 5); // Adiciona o elemento 5 no índice 2

Deixe-nos imprimir a lista

System.out.println(intList); // toString() method is automatically called on the list 

Saída: [3, 1, 5, 2, 2]

Recuperar elementos da lista

intList.get(3); // Retorna o elemento cujo conteúdo seja 3. 
 
intList.getFirst(); // Retorna o primeiro elemento da lista.
 
intList.getLast(); // Retorna o último elemento da lista.
 
intList.indexOf(2); //Retorna o elemento que está no índice 2 
 
intList.lastIndexOf(2); // Retorna o índice do elemento cujo valor seja 2.

LinkedList como uma pilha

Como o Java não fornece um

intList.push(5); // Adiciona o elemento ao final da lista, funciona como o addLast().
 
intList.pop(); // Remove e retorna o último elemento da lista.

Remover elementos da lista

intList.remove(3); // Remove o elemento que está no índice 3 da lista. 
 
intList.removeFirst(); // Remove e retorna o primeiro elemento da lista. 
 
intList.removeLast(); // Remove e retorna o último elemento da lista. 

Nota: Todos os métodos acima mencionados para remover e buscar um elemento retornam NoSuchElementException em uma lista vazia.

Mais Informações: