| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:29:29
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
Você tem um objeto Student que precisa ser armazenado num Set e ordenado por idade. Para tal voce decide usar um TreeSet com um Comparator. Complete o código abaixo:
This message was edited 1 time. Last update was at 11/07/2011 18:05:44
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:34:46
|
rmendes08
GUJ Master
![[Avatar]](/images/avatar/9ee855f3ce4dd40182183463232e2162.jpg)
Membro desde: 29/05/2008 14:09:28
Mensagens: 1617
Online
|
Cara, acho normal esse tipo de questão aparecer em entrevista. É bem básica mas corta muita gente. Principalmente arrastador de componente.
|
"A Técnica é transformada em Arte por quem a emprega"
"O futuro pertence àqueles que acreditam na beleza de seus sonhos"
Computadores Fazem Arte
http://www.uaijug.com.br
"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:35:17
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Seria ?
This message was edited 1 time. Last update was at 11/07/2011 16:36:17
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:35:39
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
rmendes08 wrote:Cara, acho normal esse tipo de questão aparecer em entrevista. É bem básica mas corta muita gente. Principalmente arrastador de componente.
Ok, mas qual a sua respota para essa questão básica?
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:37:09
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
ViniGodoy wrote:Seria
?
Bom ver que eu não seria o único capado por essa pergunta.
Isso aí não funciona de jeito nenhum. Pode executar o código pra ver.
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:42:00
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Como não? [Student id=2;age=18] [Student id=1;age=20] [Student id=3;age=22] Resposta perfeita. Claro, se você queria evitar a eliminação de um Student, então não deveria ter decidido usar um Set. Para evitar a eliminação, só incluindo o id no comparador, mas o enunciado não diz nada a respeito dessa necessidade. Nesse caso, o código ficaria:
This message was edited 1 time. Last update was at 11/07/2011 16:42:26
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:42:06
|
rmendes08
GUJ Master
![[Avatar]](/images/avatar/9ee855f3ce4dd40182183463232e2162.jpg)
Membro desde: 29/05/2008 14:09:28
Mensagens: 1617
Online
|
Eu teria dado a mesma resposta do Vini, que é a mais óbvia, mas agora que você disse que não funcionou fiquei curioso ...
|
"A Técnica é transformada em Arte por quem a emprega"
"O futuro pertence àqueles que acreditam na beleza de seus sonhos"
Computadores Fazem Arte
http://www.uaijug.com.br
"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:45:26
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Só pq o enunciado é tendencioso e induz ao erro. Ele está baseado em um pressuposto que não está dito.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:47:20
|
Zeed01
Virtual Machine Man
Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline
|
Boa noite galera...
Considerando que esta usando o Set, como o Vini já falou, a resposta dele me parece correta, para mim também não ficou claro no enunciado o caso de idades iguais...
De qualquer forma uma solução, digamos, mais didática seria:
[]s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:48:54
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
ViniGodoy wrote:Como não?
[Student id=2;age=18]
[Student id=1;age=20]
[Student id=3;age=22]
Resposta perfeita.
Claro que essa resposta é errada, né? Um Student diferente foi eliminado do Set sem qualquer cabimento. A tua resposta está certa, mas eu usario o equals dentro do compare, só para enfatizar que eles precisam ser coerentes.
Quando vc usa comparator ou comparable, o método equals é IGNORADO e o hash/set usa compare/compareTo. Eu não sabia disso até pouco tempo.
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:49:48
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
Zeed01 wrote:Boa noite galera...
Considerando que esta usando o Set, como o Vini já falou, a resposta dele me parece correta, para mim também não ficou claro no enunciado o caso de idades iguais...
De qualquer forma uma solução, digamos, mais didática seria:
[]s
Isso tá errado.
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:50:51
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
ViniGodoy wrote:Só pq o enunciado é tendencioso e induz ao erro. Ele está baseado em um pressuposto que não está dito.
Não Vini. O enunciado está bem claro. Não faz cabimento descartar um estudante que é DIFERENTE dentro de um SET.
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:53:06
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
saoj wrote:Claro que essa resposta é errada, né? Um Student diferente foi eliminado do Set sem qualquer cabimento. A tua resposta está certa, mas eu usario o equals dentro do compare, só para enfatizar que eles precisam ser coerentes. 
Não concordo. Em momento nenhum o enunciado diz para que serve esse set, ou o critério de desempate. Como eu falei, se um avaliador realmente queria isso, estava testando se o programador estava atento a pegadinha. Na prática, qualquer um que estivesse programando o método saberia se pode ou não eliminar estudantes, ou qual seria o critério de desempate, caso as idades fossem iguais (isso também não foi informado). Mas claro, se eu estivesse fazendo a prova e parasse mais de 5 minutos para pensar na questão, eu provavelmente teria dado as duas respostas. Vivo fazendo sistemas com sets desse tipo, com mais de um critério de ordenação/eliminação.
saoj wrote:Quando vc usa comparator ou comparable, o método equals é IGNORADO e o hash/set usa compare/compareTo. Eu não sabia disso até pouco tempo. 
Disso eu sabia.
This message was edited 2 times. Last update was at 11/07/2011 16:55:37
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:58:16
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
By the way, não usaria um equals dentro do compare. É lento, ineficiente, e há um campo que pode não só diferencia-los, mas também fornecer um segundo critério de ordenação, que é o id. Veja minha segunda resposta lá. Quando vc respondeu que não funciona, deduzi que não queria eliminar estudantes e corrigi a resposta. A resposta com o segundo algorítmo foi: [Student id=2;age=18] [Student id=1;age=20] [Student id=4;age=20] [Student id=3;age=22]
This message was edited 2 times. Last update was at 11/07/2011 17:01:05
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2011 16:58:23
|
Zeed01
Virtual Machine Man
Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline
|
Boa noite galera !
saoj
Porque meu código esta errado ?
Qual é afinal a finalidade ?
A saída para o código que enviei foi:
[Student id=2;age=18]
[Student id=1;age=20]
[Student id=4;age=20]
[Student id=3;age=22]
Se não é isso que o exercício queria, então não entendi o enunciado...
Pode me explicar por favor ?
Obrigado.
[]s
|
|
|
 |
|
|