Alguém poderia me dar um exemplo de quando é utilizado:
- Map
- Set
- List
ou melhor, as classes que implementam as interfaces. Quais os pontos de diferença?
Alguém poderia me dar um exemplo de quando é utilizado:
ou melhor, as classes que implementam as interfaces. Quais os pontos de diferença?
Bom dia.
Todas as 3 interfaces estão no pacote de coleções. Set e List extendem ainda da interface Collection enquanto que Map não.
Set: Esta interface não armazena a posição em que os elementos estão armazenados, isto é, ela entende que as classes que a implementam são como conjuntos matemáticos onde a posição não é relevante. Duas implementações que posso citar são o HashSet e o TreeSet, onde o último ordena os elementos em sua ordem natural.
List: Ao contrário de Set, as classes que implementam List possui o método get(int index) entre outros, isto é, é possível repurar os elementos da coleção utilizando seu índice. Duas implementações são o ArrayList e o LinkedList. O ArrayList possui agilidade na inserção de dados enquanto que o LinkedList possui agilidade na remoção. A classe LinkedList , como seu nome indica é provavelmente uma lista ligada. A pilha também pode ser simulada com esta classe pois a mesma possui metodos getFirst e getLast.
Map: As classes que implementam Map possuem a característica de armazenar pares chaves - valor. A pesquisa nas duas primeiras interfaces se dá através do método contains(Object o) ou get(int index), já nas classes que implementam Map poderão ser pesquisadas pelo objetos chave. Exemplo: get(“Teste”).
Espero que eu tenha ajudado um pouco, o assunto é extenso e existe bem mais material sobre o assunto.
Obrigado, ajudou sim…