[RESOLVIDO] Dúvida - MasterExam Questão 53

7 respostas
M

Which of the following collection classes is best suited to implement a stack, and dos not have the overhead of synchronized methods?
A java.util.Treemap
B java.util.TreeSet
C java.util.LinkedList
D java.util.Vector
E java.util.LinkedHashMap

Me perdi nessa questão… Alguem pode ajudar? O que ele quis dizer com “best suited to implement a stack”?

7 Respostas

deyvid
:)

:slight_smile:

M

E o que ele quis dizer com isso? #)

L

LinkedList

:slight_smile:

T

É a resposta LinkedList, mas você ainda fica de me dar a justificativa. Note que você precisa explicar:

  • Por que é mais indicada para implementar uma pilha;
    e
  • Quais são as classes nas alternativas que têm métodos “synchronized”.
L

A alternativa do Vector que tem métodos synchronized as outras não tem.
Ela é a mais indicada pois ela insere os elementos sem se preocupar em ordena-los e sempre no final da fila. Se fossemos simular uma pilha, bastaria remover do último elemento da “lista”.

Lavieri

muita gente ja respondeu, mas vamos lá!

Você quer implementar uma pilha, ou seja, colocar varios itens em uma coleção, onde a ordem dos itens que você coloca importa,

A java.util.TreeMap
é uma mapa e não uma coleção para adcionar itens, fora isso não obedece a ordem de entrada, não sendo bom para usar pilha.

B java.util.TreeSet
é uma coleção (o que é melhor q um map), mas ainda assim a orem de inserção na importa, e sim a ordem natural dos itens, não sendo bom para uso de pilhas (stacks)

D java.util.Vector
é syncronizada portanto, não serve para a questão, e mesmo se não fosse syncronizada, se você tivesse que escolher apenas uma resposta, o LinkedList é melhor pois implementa a interface Queue.

E java.util.LinkedHashMap
não é syncronizado e a ordem de inserção importa, porem é um Map suas entradas são do tipo chave valor, o que dificulta o uso da pilha (apesar de poder ser usada grosseiramente só com a chave e um value null), mesmo com este uso, fica pessimo de utilizar como pilha pois só é possivel acessar seus membros iterando pela lista, dificultando o processo de uso em uma pilha, seria uma opção depois de Vector, mas seria necessario especializar seu uso para usalo como pilha, e mesmo assim causaria muito overhead

M

Beleza, brigadão a todos!

Criado 19 de junho de 2009
Ultima resposta 19 de jun. de 2009
Respostas 7
Participantes 5