东东车 2010-03-10 17:43
浏览 163
已采纳

Set的问题,如何理解呢?

1.Set 没有顺序不能重复

以下代码该怎么解释呢?谢谢..
[code="java"]import java.util.*;
import static java.lang.System.out;
class G086
{
String s;
G086(String v)
{
this.s = v;
}
public int hashCode()
{
return 1;
}
public boolean equals(G086 g)
{
if(s.charAt(0)==g.s.charAt(0))
return true;
return false;
}
/*
public String toString()
{
return this.s;
}
*/
public static void main(String[] args)
{
G086 g1 = new G086("aaa");
G086 g2 = new G086("aaa");
String t = "-";
if(g1.equals(g2))
t += "1";
//t += g1.equals(g2);
if(g1==g2)
t += " 2";
Set s1 = new HashSet();
s1.add(g1);
s1.add(g2);
out.println(t+" "+s1.size());
out.println(s1);
}
}[/code]

  • 写回答

2条回答 默认 最新

  • OPPPPOP 2010-03-10 21:49
    关注

    你这问题我也想了半天了 本来都关机睡觉了 突然想起来 又爬起来 敬业吧

    正题:你没覆盖equals方法 真正的equals参数应该是Object你写成自己的类了 呵呵 迷惑啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?