1. Lista de métodos
Lembra que os criadores de Java escreveram toda uma classe auxiliar chamada Arrayspara nossa conveniência ao trabalhar com arrays?
Eles fizeram a mesma coisa para coleções. Java tem uma java.util.Collectionsclasse que possui muitos métodos úteis para trabalhar com coleções. Aqui estão apenas os mais interessantes:
| Métodos | Descrição |
|---|---|
|
Adiciona os elementos e1, e2, e3, ... à collscoleção |
|
Substitui todos os elementos na lista passada porobj |
|
Retorna uma lista de ncópias do objobjeto |
|
Substitui todas as instâncias de oldValpor newValna listlista |
|
Copia todos os elementos da srclista para a destlista |
|
Inverte a lista. |
|
Classifica a lista em ordem crescente |
|
Desloca ciclicamente os elementos da listlista por nelementos |
|
Embaralha aleatoriamente os elementos na lista |
|
Encontra o elemento mínimo na collscoleção |
|
Encontra o elemento máximo na collscoleção |
|
Determina quantas vezes o objelemento ocorre na collscoleção |
|
Pesquisa keyem uma lista classificada e retorna o índice correspondente. |
|
Retorna truese as coleções não tiverem elementos em comum |
Muitos desses métodos não usam as classes ArrayList, HashSete HashMapper se, mas com as interfaces correspondentes: Collection<T>, List<T>, Map<K, V>.
Isso não é um problema: se um método aceita um List<T>, você sempre pode passar um ArrayList<Integer>, mas o operador de atribuição não funciona na direção oposta.
2. Criando e modificando coleções
Collections.addAll(Collection<T> colls, T e1, T e2, T e3, ...)método
O addAll()método adiciona os elementos e1, e2, e3, ... à collscoleção. Qualquer número de elementos pode ser passado.
| Código | Saída do console |
|---|---|
|
|
Collections.fill(List<T> list, T obj)método
O fill()método substitui todos os elementos da listcoleção pelo objelemento.
| Código | Saída do console |
|---|---|
|
|
Collections.nCopies(int n, T obj)método
O nCopies()método retorna uma lista de ncópias do objelemento. Observe que a lista retornada é imutável, o que significa que você não pode alterá-la! Você só pode usá-lo para ler valores:
| Código | Descrição |
|---|---|
|
Crie uma lista imutável de 5 Hellostrings Crie uma lista mutável liste preencha-a com os valores da immutableListlista. Saída do console: |
Collections.replaceAll (List<T> list, T oldValue, T newValue)método
O replaceAll()método substitui todos os elementos da listcoleção igual a oldValuecom newValue.
| Código | Saída do console |
|---|---|
|
|
Collections.copy (List<T> dest, List<T> src)método
O copy()método copia todos os elementos da srccoleção para a destcoleção.
Se a destcoleção começar mais do que a srccoleção, os elementos restantes da destcoleção permanecerão intactos.
destcoleção deve ser pelo menos tão longa quanto a
srccoleção (caso contrário, um
IndexOutOfBoundsExceptionserá lançado).
| Código | Saída do console |
|---|---|
|
|
3. Ordem dos elementos
Collections.reverse(List<T> list)método
O reverse()método inverte a ordem dos elementos da lista passada.
| Código | Saída do console |
|---|---|
|
|
Collections.sort(List<T> list)método
O sort()método classifica a lista passada em ordem crescente.
| Código | Saída do console |
|---|---|
|
|
Collections.rotate(List<T> list, int distance)método
O rotate()método desloca ciclicamente os elementos da lista passada por distanceposições para frente.
| Código | Saída do console |
|---|---|
|
|
Collections.shuffle(List<T> list)método
O shuffle()método embaralha aleatoriamente todos os elementos da lista passada. O resultado é diferente a cada vez.
| Código | Saída do console |
|---|---|
|
|
4. Encontrando elementos em coleções
Collections.min(Collection<T> colls)método
O min()método retorna o elemento mínimo na coleção.
| Código | Saída do console |
|---|---|
|
|
Collections.max(Collection<T> colls)método
O max()método retorna o elemento máximo na coleção.
| Código | Saída do console |
|---|---|
|
|
Collections.frequency(Collection<T> colls, T obj)método
O frequency()método conta o número de vezes que o objelemento ocorre na collscoleção
| Código | Saída do console |
|---|---|
|
|
Collections.binarySearch(Collection<T> colls, T obj)método
O binarySearch()método procura o objelemento na collscoleção. Retorna o índice do elemento encontrado. Retorna um número negativo se o elemento não for encontrado.
binarySearch()método, a coleção deve ser classificada (use
Collections.sort()).
| Código | Saída do console |
|---|---|
|
|
Collections.disjoint(Collection<T> coll1, Collection<T> coll2)método
O disjoint()método retorna truese as coleções passadas não tiverem nenhum elemento em comum.
| Código | Saída do console |
|---|---|
|
|
GO TO FULL VERSION