| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 14:11:48
|
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 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 14:25:09
|
deyvid
JavaChild
![[Avatar]](/images/avatar/19406b9f645610fda9a0f6f27bdac710.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 14:26:19
|
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 14:27:40
|
leonardocregis
JavaBaby
Membro desde: 13/10/2007 12:26:55
Mensagens: 89
Offline
|
LinkedList
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 14:29:44
|
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".
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 14:40:31
|
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".
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 15:37:27
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
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/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 16:03:46
|
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 |
|
|
 |
|
|