questão sobre collections

Which of the following classes, will return elements in the order they were added (first in first out) when accessed via an iterator?

1 - java.util.HashSet
2 - java.util.Vector
3 - java.util.LinkedHashSet
4 - java.util.TreeSet

São 2 corretas.
Explique sua resposta.

acho que sao as respostas 2 e 3.

Primeiro porque HashSet é uma classe que nao possui ordem de inserção…e muito menos de iteração…na verdade é uam completa deseordem…

Quanto a classe TreeSet , ela possui uma ordem natural de Iterãção , ou seja…ordem para seus valores literais…(alfabética , numérica…)…e uma ordem definida por exemplo pelo programador para ordenar os demais objetos.

Já Vector e LinkdList , sao implementaçõe da Interface List, que possuem uma ordem de iteração dos seus elementos…

A idéia de FIFO (First in , Forst Out)…esta relacioanda por exemplo com uma idéia de uma “pilha”…onde o primeiro elemento que entra…(é adicionado)…é o primeiro a sair para uma Iteração…

então respostas corretas :

2 - java.util.Vector
3 - java.util.LinkedHashSet

:smiley:

Agora eu fiquei com dúvida.
A LinkedListSet não é uma Set?
Até onde sei, Set’s não permitem elementos repetidos. Então, se você inserir, por exemplo, 2 - 3 - 2 - 3 - 1, eles serão iterados como 2 - 3 - 1, o que, a rigor, não corresponde à ordem de inserção…

Eu acho que é a 2 e 3 também!!!

[quote=“Duque”]A idéia de FIFO (First in , Forst Out)…esta relacioanda por exemplo com uma idéia de uma “pilha”…onde o primeiro elemento que entra…(é adicionado)…é o primeiro a sair para uma Iteração…
[/quote]

Acredito que o Duque se enganou e então só para esclarecer, FIFO dá uma idéia de “Fila” … A idéia de “Pilha” vem de LIFO (Last in, First out), ou seja o último que entra é o primeiro que sai … dá prá pensar como em um baralho que tu vai comprando cartas tirando ela do topo da pilha.

Abraços.

Fico com 2 e 3. :lol: