[RESOLVIDO] Dúvida - MasterExam Questão 53  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline

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"?

This message was edited 1 time. Last update was at 19/06/2009 16:04:01


OMW to SCWCD;

SCJP 6
deyvid
JavaChild
[Avatar]

Membro desde: 11/08/2006 19:34:07
Mensagens: 129
Offline



This message was edited 1 time. Last update was at 19/06/2009 14:42:03

[MSN]
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline

E o que ele quis dizer com isso? #)

OMW to SCWCD;

SCJP 6
leonardocregis
JavaBaby

Membro desde: 13/10/2007 12:26:55
Mensagens: 89
Offline

LinkedList

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

É 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".

[WWW]
leonardocregis
JavaBaby

Membro desde: 13/10/2007 12:26:55
Mensagens: 89
Offline

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
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

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)

C java.util.LinkedList
é uma lista além disso implementa a interface Queue, que é utilizada justamente para a finalidade de pilhas, não é syncronizado e a ordem de inserção importa, ou seja é perfeito!! e é a resposta correta!!

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

Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline

Beleza, brigadão a todos!

OMW to SCWCD;

SCJP 6
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team