Vídeo: Programar em Java #26 - Dicionários (Map) 2024
Arrays e listas especializadas possibilitam a realização de uma incrível variedade de tarefas com o Java. No entanto, existem situações em que um aplicativo Java precisa de algo mais parecido com um banco de dados, sem realmente ter toda a bagagem de banco de dados (como ter que comprar uma aplicação separada).
Por exemplo, você pode querer encontrar um valor específico em uma lista sem ter que olhar para cada elemento individualmente. As seções a seguir descrevem um tipo especial de coleção chamado Mapa. O Mapa é um tipo de armazenamento de armazenamento incrivelmente útil que facilita muitas tarefas.
Lembre-se sempre que, sempre que você adiciona funcionalidade a uma classe, isso causa um aumento no tamanho da turma. Além disso, a classe corre mais devagar e pode tornar-se mais difícil de entender. Se uma matriz servirá a finalidade em seu aplicativo, use uma matriz. Use apenas um Mapa quando precisar da funcionalidade especializada que um Mapa oferece.
O Mapa, como muitas classes básicas de contêiner em Java, é realmente uma interface. Um Mapa descreve uma classe que fornece um par de chaves e valores para armazenar informações. A chave dá aos dados um nome exclusivo. Nenhuma das duas entradas pode ter a mesma chave, o que possibilita a busca da chave e sempre retorna um valor exclusivo. Qualquer número de chaves pode ter o mesmo valor associado.
Como em qualquer interface, você deve criar uma implementação antes de poder usá-la. O Mapa é tão incrivelmente útil que o Java possui uma série de classes de implementação associadas a ele. Aqui está a lista de classes que você pode usar para criar um Mapa (novamente, você não precisa se preocupar com as especificidades dessas classes por enquanto - você começará a entender essas diferenças à medida que você criar mais aplicativos Java):
-
AbstractMap
-
Atributos
-
AuthProvider
-
ConcorrentHashMap
-
ConcorrentSkipListMap
-
EnumMap
-
HashMap
-
Hashtable
-
IdentityHashMap
-
LinkedHashMap
-
PrinterStateReasons
-
Propriedades
-
Fornecedor
-
RenderingHints
-
SimpleBindings
-
TabularDataSupport
-
TreeMap
-
UIDefaults
-
WeakHashMap
Um único artigo não pode sequer começar a discutir todas essas classes. O importante a lembrar é que todas as classes Map dependem de uma chave única para identificar dados e um valor para manter os dados.