Escolar Documentos
Profissional Documentos
Cultura Documentos
Utilidade do java.util.list
Utilidade do java.util.queue
Utilidade do java.util.set
Utilidade do java.util.map
java.util.collection
A implementação mais comum é a ArrayList, que é uma array dinamica, facilitadora, pois arrays
são estaticos, tem que mexer dado por dado para arrumar isso, e pode também atualizar, mover,
remover de forma simples, e pode organizar com comparators.
Para o uso do arrayList, primeiro se tem a importação
import java.util.ArrayList;
import java.util.List
E depois se declara na chamada
Sobre o collection, tem o metodo sort [Collection.sort(“nome de ArrayList”)], que organiza por
ordem alfabética.
“ArrayList”.remove(index “posição”);
ou
“ArrayList”.remove(0: “nome ou Item”);
Se você quiser ver o tamanho da ArrayList, tem o metódo size, que se usa da seguinte maneira:
Tem o metódo isEmpty, que avisa se a lista esta vazia ou não, se usa:
Tem o indexOf, que recebe o nome de um item da lista e retorna sua posição.
Sobre navegação nos itens da lista, se pode usar o for each como se fosse uma array mesmo, se usa:
Também um bem legal é o iterator, que retonar true sempre que entra mais um item na lista, se usa:
while (iterator.hasNext()) {
SOPln(iterator.next());
}
Isso vai mostrar o item que for adcionado na lista.
Queue
Filas no controle de dados, é um conceito simples e classico, o primeiro a entrar deve ser o
primeiro a sair.
Ela garante uma ordem, e não muda ela nunca, e sempre segue a regra de FIFO.
e ai chamar a String.
Tem os metodos, poll que tira a cabeça da fila, o primeiro da fila, e se a fila estiver vazia ela retorna
null.
Tem o peek que só retorna o primeiro item da fila.
E tem o element, que retorna o cabeça da fila, mas se a fila estiver vazia, retorna
“NoSuchElementException”
Queue é tem muitos metodos semelhantes com listas, tipo iterator ou for each.
java.util.set:
Essa implementação tem 3 formas.
java.util.HashSet
java.util.TreeSet
java.util.LinkedHashSet
A mais comum é a HashSet, simples, tem poucos metódos, otimizada, boa pra todo mundo.
A LinkedHashSet mantem a ordem de inserção, ou seja, entrou de um jeito, aparecer daquele jeito, e
também permite remoção, e atualização.
E tem o TreeSet, uma arvore binaria, com uma ordem definida por um algoritmo, então a ordem
monta uma “arvore” por isso, ela é a mais lenta e pesada.
Por isso também tem detalhes a mais ai no meio, tipo o metódo first, que mostra quem tá no topo,
esse valor do topo é ultimo a ser adicionado, também tem o metódo last, que retorna o primeiro a
ser adicionado, também tem o higher e o lower, que quando recebem um valor, mostram o valor
possicionado em cima e em baixo dele respectivamente.
Primeiramente, java.util.map não é herdada de java.util.collection, então não tem muitos metodos
do collection, mais tem semelhanças.
Contem 3 implementações principais.
Java.util.HashMap muito utilizada
java.util.TreeMap uma arvore binaria
java.util.HashTable cenario de sincronização, pouco usada.
O map tem uma entrada de valores dierente, ele puxa dois valores, um deles uma chave de
indexação que não pode ser repetida, o seguindo um valor atribuido a essa chave.
Sobre seus metodos, tem o put, bem simples, que recebe uma string, a chave, e um valor.
“HashMap”.put(“nome”, “valor”);
É de se notar que se você fizer um put, que usa a mesma chave, mais muda o valor, ele vai apenas
atualizar o valor.
Como também tem o containsValue, que procura o valor e também retorna booleano.
O entrySet e o KeySet
Ambos usados com o for, fornecem as chaves e os valores em sequencia, essa é mais performatica
pois o KeySet é usado com um metódo get no meio.
Tem o metódo size, que mostra o tamanho do mapa, e tem o clear, que limpa tudo.
By the way, tem o LinkedHashMap, que tem mais organização, se você se preocupa, usa esse.
O TreeMap funciona quase como o próprio TreeSet, a diferença é que tem dois valores.
O comparator tem o metódo compare. Também retorna int, e recebe dois parametros para comparar.
Tem metódo add e de primeira a ordem é de inserção, se você usar o metódo sort, e indicar por onde
organizar, a ordem será, se númerica, crescente, se forem String será alfabetica.
Tem o metódo comparingInt(Que faz o mesmo daquile lá, só que altomatico, sem precisar indicar
quem aompanha quem, by the way ele vai na ordem decresente).
Para poder, simplesmente lançar a braba e só jogar a ArrayList no dane-se você precisa declarar a
classe extends de Comparable.
E se quisermos apenas jogar outro comparator, pode, é só declarar esse comparator logo após o seu
ArrayList:
Resumindo um pouco, comparable recebe um valor, logo se entende que será comparado com outro,
já comparable recebe dois e pode ser melhor indicado.