| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:[求助]HashSet的问题
只看楼主 加入收藏
fqj793
Rank: 1
等 级:新手上路
威 望:2
帖 子:228
专家分:0
注 册:2006-12-9
收藏
 问题点数:0 回复次数:4 
[求助]HashSet的问题

import java.util.*;
class HashSetTest
{
public static void main(String[] args)
{
HashSet hs=new HashSet();
/*hs.add("one");
hs.add("two");
hs.add("three");
hs.add("one");*/
hs.add(new Student(1,"zhangsan"));
hs.add(new Student(2,"lisi"));
hs.add(new Student(3,"wangwu"));
hs.add(new Student(1,"zhangsan"));

Iterator it=hs.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}

class Student
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public int hashCode()
{
return num*name.hashCode();
}
public boolean equals(Object o)
{
Student s=(Student)o;
return num==s.num && name.equals(s.name);
}
public String toString()
{
return num+":"+name;
}
}
其中红色部分不知为什么要这样写,而不是return num=s.name.equals(s.name);
而且上面这段代码也在编译时出现错误.信息如下:

图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: HashSet 
2007-03-21 16:55
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
JDK1.5以后加了泛型 ,你没有加,就会有警告

像你要在里面加入Student,可以这样声明

HashSet<Student> hs=new HashSet<Student>();

这样就只能往里面加Student了,并且你取出来的时候,也不用cast了,直接取就是Student对象

可惜不是你,陪我到最后
2007-03-21 17:14
fqj793
Rank: 1
等 级:新手上路
威 望:2
帖 子:228
专家分:0
注 册:2006-12-9
收藏
得分:0 
谢谢千里,按你说的,已经解决了

知识改变命运!!!
2007-03-21 17:22
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
建议楼主练练抓图。。。

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-03-22 14:06
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
建议楼上在技术区少灌点水


可惜不是你,陪我到最后
2007-03-22 14:21
快速回复:[求助]HashSet的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040701 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved