<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Dúvida Questao (HashCode e Equals)"]]></title>
		<link>http://www.guj.com.br/posts/list/11.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Dúvida Questao (HashCode e Equals)"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ [code]import java.util.*;<br /> 2. class KeyMaster {<br /> 3. public int i;<br /> 4. public KeyMaster(int i) { this.i = i; }<br /> 5. public boolean equals(Object o) { return i == ((KeyMaster)o).i; }<br /> 6. public int hashCode() { return i; }<br /> 7. }<br /> 8. public class MapIt {<br /> 9. public static void main(String[] args) {<br /> 10. Set&lt;KeyMaster&gt; set = new HashSet&lt;KeyMaster&gt;();<br /> 11. KeyMaster k1 = new KeyMaster(1);<br /> 12. KeyMaster k2 = new KeyMaster(2);<br /> 13. set.add(k1); set.add(k1);<br /> 14. set.add(k2); set.add(k2);<br /> 15. System.out.print(set.size() + ":");<br /> 16. k2.i = 1;<br /> 17. System.out.print(set.size() + ":");<br /> 18. set.remove(k1);<br /> 19. System.out.print(set.size() + ":");<br /> 20. set.remove(k2);<br /> 21. System.out.print(set.size());<br /> 22. }<br /> 23. }[/code]<br /> <br /> Resposta: 2:2:1:1<br /> <br /> Pq quando ele altera o valor de "i" em k2 ele nao remove k2 da lista? Eu errei pq achei que era 2:2:1:0 debugando aqui realmente a resposta é 2:2:1:1.<br /> <br /> <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992204/duvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992204/duvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:08:29]]> GMT</pubDate>
				<author><![CDATA[ evertonsilvagomesjava]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ boa pergunta essa....<br /> posso estar errado mas eu acho que quando vc adiciona um elemento no conjunto ele faz uma cópia desse elemento por isso a mundança que vc faz em k2 não reflete no conjunto....<br /> mas não sei se estou certo....<br /> a outra possibilidade(talvez a que seja a melhor)....<br /> eh que quando vc altera um elemento que adicionou no conjunto como foi feito no código nada será verificado se existe um outro elemento igual ao que vc modificou....<br /> o conjunto só testa se ha elementos semelhantes no método add....]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992211/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992211/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:19:02]]> GMT</pubDate>
				<author><![CDATA[ vmsb11]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ Puts deixa ver se entende, depois de adicionado um elemento na lista se for alterado o seu estado não tera uma verificaçao com isso nao tera como remover ele da lista?<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992212/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992212/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:23:19]]> GMT</pubDate>
				<author><![CDATA[ evertonsilvagomesjava]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ tem como remover somente se vc passar um objeto com as msm informações do objeto que vc modificou na lista....]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992214/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992214/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:25:15]]> GMT</pubDate>
				<author><![CDATA[ vmsb11]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ Mas ai teria que ser o mesmo objeto, e consequentemente pra isso acontecer so teria como se eu nao alterasse seu estado num eh n?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992216/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992216/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:27:51]]> GMT</pubDate>
				<author><![CDATA[ evertonsilvagomesjava]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ não....<br /> olha só esse exemplo:<br /> [code]<br /> <br /> import java.util.*;   <br /> class KeyMaster {   <br />   public int i;   <br />   public KeyMaster(int i) { this.i = i; }   <br />   public boolean equals(Object o) { return i == ((KeyMaster)o).i; }   <br />   public int hashCode() { return i; }   <br /> }   <br /> <br /> public class MapIt {   <br />   public static void main(String[] args) {   <br />     Set&lt;KeyMaster&gt; set = new HashSet&lt;KeyMaster&gt;();   <br />     KeyMaster k1 = new KeyMaster(1);   <br />     KeyMaster k2 = new KeyMaster(2);   <br />     set.add(k1); <br />     set.add(k2);   <br />     //altero k2 pra 3<br />     k2.i = 3;<br />     KeyMaster k3 = new KeyMaster(3);<br />     //vai remover o objeto k2 que eu inseri no conjunto(lembra alterei ele pra 3) <br />     set.remove(k3)<br />   }   <br /> }  <br /> <br /> <br /> [/code]<br /> entendeu????....]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992218/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992218/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:32:22]]> GMT</pubDate>
				<author><![CDATA[ vmsb11]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ Tem certeza que funciona? Fiz o teste aqui funcionou nao..<br /> <br /> [code]Set&lt;KeyMaster&gt; set = new HashSet&lt;KeyMaster&gt;();<br /> 		<br /> 		KeyMaster k1 = new KeyMaster(1);<br /> 		<br /> 		KeyMaster k2 = new KeyMaster(2);<br /> 		<br /> 		<br /> 			<br /> 		set.add(k1); <br /> 		set.add(k1);<br /> 		set.add(k2); <br /> 		set.add(k2);<br /> 		<br /> 		System.out.print(set.size() + ":");<br /> 			<br /> 		k2.i = 4;<br /> 		<br /> 		KeyMaster k3 = new KeyMaster(4);				<br /> 		<br /> 		System.out.print(set.size() + ":");<br /> 		<br /> 		set.remove(k1);<br /> 		<br /> 		System.out.print(set.size() + ":");<br /> 		<br /> 		set.remove(k3);<br /> 				<br /> 		System.out.print(set.size());[/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992221/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992221/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:37:48]]> GMT</pubDate>
				<author><![CDATA[ evertonsilvagomesjava]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ ops perdão....<br /> realmente não funciona por causa dos contratos(hashcode e equals)....<br /> eh realmente pra não tem como vc remover o objeto depois que vc altera o seu estado....<br /> eh uma boa questão, mas só lembrando que esse código mostra uma má prática de programação....]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992227/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992227/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:44:57]]> GMT</pubDate>
				<author><![CDATA[ vmsb11]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ legal mesmo essa questão, nesse caso ele remove o objeto pelo seu estado inicial em que foi add de acordo com o contrato de hashing e equals, né.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992230/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992230/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:46:36]]> GMT</pubDate>
				<author><![CDATA[ evertonsilvagomesjava]]></author>
			</item>
			<item>
				<title>Re:Dúvida Questao (HashCode e Equals)</title>
				<description><![CDATA[ isso msm....]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197692/992231/reduvida-questao-hashcode-e-equals
</guid>
				<link>http://www.guj.com.br/prepost/197692/992231/reduvida-questao-hashcode-e-equals
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 17:47:09]]> GMT</pubDate>
				<author><![CDATA[ vmsb11]]></author>
			</item>
	</channel>
</rss>
