好像只能用循环来判equals。
你用HashMap其实不安全,你用元素本身做key不好, 比如v.add(new String("123"));
v.add(new String"456"));v.add(new String("123"));的话,最终c的值应该是{[123],[456],[123]},显然没有起到消除重复值的效果。
你用HashMap其实不安全,你用元素本身做key不好, 比如v.add(new String("123"));
v.add(new String"456"));v.add(new String("123"));的话,最终c的值应该是{[123],[456],[123]},显然没有起到消除重复值的效果。
解决方案 »
- 求thinking in java 4英文版 chm格式的
- java的变量可以使用时再定义吗?
- 一个关于对文本文件操作的问题,向文本中追加汉字
- 书中的代码 。关于javabean的,这个错误提示该怎么做??还有个疑问是 怎么根据错误提示知道什么地方错了。这个我怎么就看不出来呢
- jfreechart如何让X,Y轴根据需要自动改变长度!
- 银行socket连接的奇怪问题.非常着急.定高分相送!!!!
- 关于8859-1的编码问题。
- 怎么判断一个界面是否已关闭。
- 关于进度显示的简单问题
- += 号的结果怎么是乘的? =+也不报错为什么?
- 请问,.properties文件中的key的长度,形式有什么限制吗?高分求解
- 请问:*.a01,*.02,*.03之类的文件用什么程序打开?
你写的执行过?结果如你所述?
String类实现了hashCode和equals两个方法,所以可以作为键值。
如果是其他没有实现这两个方法的对象,此法不通,不能取得预期效果。
看看是不是没有实现这两个方法:
public boolean equals(Object o){ //比如类相等的条件判断
}
public int hashCode(){
}
Vector c=new Vector();
v.add("123");
v.add("456");
v.add("123");
for(int i=0;i<v.size();i++){
if(!c.contains(v.get(i))
c.add(v.get(i));
}to geyf:一直搞不懂HashCod方法有何用?you know?