中易网

请高手们帮忙解读一下这个关于Set接口的程序

答案:1  悬赏:0  
解决时间 2021-04-27 15:16
  • 提问者网友:霸道ぁ小哥
  • 2021-04-27 08:40

import java.util.*;

class fun1
{
 private int id;
    private String name;
   
    public fun1(int id, String name)
    {
     this.id = id;
     this.name = name; 
    } 
   
    public int hashCode()
    {
     return id * name.hashCode();
    }
   
    public boolean equals(Object o)
    {
     fun1 bb =(fun1)o;
     return id == bb.id && name == bb.name;
    }
   
    public String toString()
    {
     return id+""+"  "+name;
    }
   
   
}
class fun
{
 public static void main(String[] args)
 {
  HashSet <fun1>aa = new HashSet<fun1>();
  aa.add(new fun1(1, "张三"));
  aa.add(new fun1(2, "王四"));
  aa.add(new fun1(3, "李五"));
  aa.add(new fun1(2, "王四"));
  
  for(Object o:  aa)
  {
   System.out.println(o+":");
  }
  
 }
}

 

 

 

最佳答案
  • 二级知识专家网友:时光不老我们不分离
  • 2021-04-27 09:35

你在hashcode和equals方法里加上两句调试信息,运行一下。你就知道是怎么回事了。


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息