método add de um List  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
pedrosacosta
JavaChild

Membro desde: 29/11/2006 14:19:41
Mensagens: 110
Offline

1 - É possível ter uma list de um objecto do meu tipo, aonde cada vez que adicione um objecto, ele substitua um objecto já existente, em vez de adicionar no fim da lista?

Por exemplo:


O MyObject é um objecto serializável e com bastantes variáveis de tipos criados por mim.




Obrigado,

PSC
mapleplayer
JavaBaby
[Avatar]

Membro desde: 16/06/2010 18:25:27
Mensagens: 86
Localização: Buri - SP
Offline

Se eu não me engano implementações de Map fazem algo parecido com o que você quer.
Quando você atribui algum valor à alguma chave já existente, o valor antigo é substituído pelo novo.

Por favor, pesquise primeiro antes de perguntar

OCPJP 6



otaviojava
GUJ Master
[Avatar]

Membro desde: 14/12/2010 10:09:09
Mensagens: 1192
Localização: Salvador,Bahia
Offline

Acredito que desse modo dará certo

This message was edited 1 time. Last update was at 03/01/2011 09:43:34


twitter- https://twitter.com/otaviojava
java -http://home.java.net/blogs/otaviojava
blog - http://otaviosantana.blogspot.com/
javabahia - http://javabahia.blogspot.com/
linguagil - http://javabahia.blogspot.com/
Desenvolva aplicações com Cassandra de uma maneira mais fácil com o EasyCassanra: https://github.com/otaviojava/Easy-Cassandra

[WWW]
raf4ever
GUJ Master

Membro desde: 30/01/2005 01:34:51
Mensagens: 1755
Localização: Fortaleza-Ce
Offline

pedrosacosta wrote:1 - É possível ter uma list de um objecto do meu tipo, aonde cada vez que adicione um objecto, ele substitua um objecto já existente, em vez de adicionar no fim da lista?

Por exemplo:


O MyObject é um objecto serializável e com bastantes variáveis de tipos criados por mim.





Olá.
Qual o critério para se substituir determinado objeto em determinada posição?

Rafael Roque
Quis custodiet ipsos custodes?
IBM Certified SOA Associate
ITIL Foundations Certified
SCEA(I)
SCWCD
SCJP
[Email] [MSN]
pedrosacosta
JavaChild

Membro desde: 29/11/2006 14:19:41
Mensagens: 110
Offline

Isso quer dizer que quando se faz um add num ArrayList, o método vai gerar uma chave que é o apontador para o objecto e é esse apontador que é inserido na lista?


Obrigado,

PSC
otaviojava
GUJ Master
[Avatar]

Membro desde: 14/12/2010 10:09:09
Mensagens: 1192
Localização: Salvador,Bahia
Offline

Ele se eu não me enganado verifica usando o método equals ou o hascode;
Então acho interessante que você sobrescreva esses dois métodos desses dois objetos.




twitter- https://twitter.com/otaviojava
java -http://home.java.net/blogs/otaviojava
blog - http://otaviosantana.blogspot.com/
javabahia - http://javabahia.blogspot.com/
linguagil - http://javabahia.blogspot.com/
Desenvolva aplicações com Cassandra de uma maneira mais fácil com o EasyCassanra: https://github.com/otaviojava/Easy-Cassandra

[WWW]
drigo.angelo
Virtual Machine Man
[Avatar]

Membro desde: 19/11/2009 12:17:08
Mensagens: 744
Localização: Uberlândia - MG
Offline

pedrosacosta wrote:Isso quer dizer que quando se faz um add num ArrayList, o método vai gerar uma chave que é o apontador para o objecto e é esse apontador que é inserido na lista?


Acho que não é bem assim..

Quando se faz um add em um ArrayLIst ele coloca na próxima posição, por exemplo:

Ou seja, o valor passado para os metodos get/set (o índice) é apenas a posição do elemento na lista..

@drigoangelo

IE6 no more
[Email] [MSN]
otaviojava
GUJ Master
[Avatar]

Membro desde: 14/12/2010 10:09:09
Mensagens: 1192
Localização: Salvador,Bahia
Offline

Só salientando é que o índice começa pelo 0 e não pelo 1

twitter- https://twitter.com/otaviojava
java -http://home.java.net/blogs/otaviojava
blog - http://otaviosantana.blogspot.com/
javabahia - http://javabahia.blogspot.com/
linguagil - http://javabahia.blogspot.com/
Desenvolva aplicações com Cassandra de uma maneira mais fácil com o EasyCassanra: https://github.com/otaviojava/Easy-Cassandra

[WWW]
paulo1911
JavaEvangelist
[Avatar]

Membro desde: 12/01/2008 09:45:49
Mensagens: 436
Localização: São Paulo/SP Brasil
Offline

Olá pedrosacosta,

Primeiramente vc deve sobrescrever os métodos equals e hascode do seu MyObject, em seguida vc pode utilizar o Set para adicionar somente objectos distintos em sua coleção, evitando objetos duplicados com o meso valor ou que seja equivalentes...

Veja:



Espero ter ajudado!
Fallow Abraço

Paulo Roberto
Pós Graduado em Gestão de TI
OCPJP - Oracle Certified Programmer for the Java 2 Platform, SE 6.0.
OCPJWCD - Oracle Certified Professional, Java EE 5 Web Component Developer
OCEEJBD - Oracle Certified Expert, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer
[Email] [MSN]
marcobiscaro2112
JWizard

Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline

pedrosacosta wrote:...cada vez que adicione um objecto, ele substitua um objecto já existente, em vez de adicionar no fim da lista

Você ainda não disse qual o critério para substituir.

Marco Biscaro.

Seja livre!

Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?

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
[Email] [WWW] [MSN]
mews
Debugger
[Avatar]

Membro desde: 28/03/2009 06:45:07
Mensagens: 59
Offline

raf4ever wrote:Olá.
Qual o critério para se substituir determinado objeto em determinada posição?


Existem duas formas:
Se você souber o objeto que você quer retornar e não sabe a posição dele, você utiliza:

Se você tem o índice do seu objeto no array mas não o tem, você deve utilizar o método get()

Ajudar os outros é viciante!

Willian Mews
Analista de Desenvolvimento
Estudante de Engenharia da Computação
[WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team