Na ultima versão do Java 6, foi anunciado a adição de novas interfaces para as Collections, são elas:
- NavigableMap
- NavigableSet
- ConcurrentNavigableMap
- Deque
- BlockingDeque
NavigableMap, ConcurrentNavigableMap e NavigableSet
NavigableMap – é uma estenção de SortedMap, com métodos de navegação para retornar o mais próximo target encontrado para determinadas pesquisa;
NavigableSet – é uma estenção de NavigableSet, com métodos de navegação para retornar informações do mais próximo target encontrado para determinadas pesquisa;
ConcurrentNavigableMap – a classe que implementa a ConcurrentNavigableMap é a ConcurrentSkipListMap que é uma forma lista encadeada ordenada que mantém listas paralelas para acelerar o tempo de busca. O mapa é classificado de acordo com a ordenação natural suas chaves, mas se você quiser a sua própria ordem de classificação, então precisa implementar a interface Comparator e fornecer essa implementação para o mapa, no momento da criação.
Deque
Deque é uma combinação duas estruturas (Fila e Pilha), ou seja, o Deque pode ser usado tanto como uma fila (FIFO) quanto como uma pilha (LIFO).
As classes que implementam a interface Deque em Java 6 são LinkedList, LinkedBlockingDeque, ArrayDeque. O LinkedList teve que ser re-escrito para implementar interface Deque.
Qualquer implementação do Deque não permite que a inserção de elementos nulos, porque null é utilizado como um valor de retorno por vários métodos indicando a coleção está vazia.
Fila (que suporta a adição de um lado e remoção do outro lado);
Pilha (que suporta adição e remoção de um único lado);
BlockingDeque
O BlockingDeque, é um Deque que suporta operações de bloqueio e aguarda para que o espaço se torne disponível no Deque ao armazenar um elemento. BlockingDeque é parte do pacote java.util.concurrent que nos poupou de lidar com os métodos wait, notify e notifyAll. Assim como o Deque, ele também não permite elementos nulos.
Para mais informações a respeito das Collections, acesse este site.
Atte,
Wilson Bissi