论坛首页 入门技术论坛

Hashtable啊Hashtable今天载到在你手里了!

浏览 12051 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-02-18  

今天整个上午都在调试一个程序,我就纳了闷了,NND,为什么我明明把ip存进内存 了,重复查询的时候还是去硬盘?

调啊调都没看明白,后来一看JDK才明白,娘西皮滴!

  原来Hashtable的contains(Object),指的是是否包含value而不是key!!!

  竟然和Map的containsValue(Object value)在功能上是一样的。吃里爬外的方法!
  汗的教训哪!!
       

   发表时间:2011-02-18  
boolean contains(Object value)
          测试此映射表中是否存在与指定值关联的键。
boolean containsValue(Object value)
          如果此 Hashtable 将一个或多个键映射到此值,则返回 true。

改天仔细看看这两个方法的区别。
0 请登录后投票
   发表时间:2011-02-18  
bxj0702 写道
boolean contains(Object value)
          测试此映射表中是否存在与指定值关联的键。
boolean containsValue(Object value)
          如果此 Hashtable 将一个或多个键映射到此值,则返回 true。

改天仔细看看这两个方法的区别。


要这么看?
public boolean containsValue(Object value) {
	return contains(value);
    }

0 请登录后投票
   发表时间:2011-02-18  
下次注意点 看看api不得了
0 请登录后投票
   发表时间:2011-02-18  
从代码看,好像是历史问题造成的。Java 1.0版本是使用contains()方法,在1.2版本才引入 Java Collections Framework,抽象了Map接口。此接口中包含containsKey()与containsValue()方法,因为有功能的重复,所以Hashtable的containsValue()只是内部自己处理了下,尽管方法声明上有提示,但还是会造成我们的误解,这样不好
0 请登录后投票
   发表时间:2011-02-18  
木用过hashtable了
0 请登录后投票
   发表时间:2011-02-18  
hashtable不是已经不推荐使用了吗
0 请登录后投票
   发表时间:2011-02-18  
最近我也在看这东西
一个是Contains(object key),一个是ContainsKey(object key),就不知道用哪个才对,后来查了资料才知道,其实这两个方法实现的功能是一样的,都是判断哈希表中是否包含指定的键。

它们的源码是这样的:

public virtual bool Contains(object key)
{
    return this.ContainsKey(key);
}
0 请登录后投票
   发表时间:2011-02-18  
经验问题啊
0 请登录后投票
   发表时间:2011-02-18  
NanguoCoffee 写道
bxj0702 写道
boolean contains(Object value)
          测试此映射表中是否存在与指定值关联的键。
boolean containsValue(Object value)
          如果此 Hashtable 将一个或多个键映射到此值,则返回 true。

改天仔细看看这两个方法的区别。


要这么看?
public boolean containsValue(Object value) {
	return contains(value);
    }




0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics