`

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

阅读更多

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

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

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

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

分享到:
评论
5 楼 freish 2011-02-18  
木用过hashtable了
4 楼 langyu 2011-02-18  
从代码看,好像是历史问题造成的。Java 1.0版本是使用contains()方法,在1.2版本才引入 Java Collections Framework,抽象了Map接口。此接口中包含containsKey()与containsValue()方法,因为有功能的重复,所以Hashtable的containsValue()只是内部自己处理了下,尽管方法声明上有提示,但还是会造成我们的误解,这样不好
3 楼 whaosoft 2011-02-18  
下次注意点 看看api不得了
2 楼 NanguoCoffee 2011-02-18  
bxj0702 写道
boolean contains(Object value)
          测试此映射表中是否存在与指定值关联的键。
boolean containsValue(Object value)
          如果此 Hashtable 将一个或多个键映射到此值,则返回 true。

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


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

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

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

相关推荐

    C# json 转hashtable

    总之,C#中将JSON字符串转换为`Hashtable`以及反之的过程涉及到了JSON序列化和反序列化的概念,这在开发与Web服务交互的应用程序时尤其重要。虽然`Hashtable`在现代.NET应用中已经较少使用,但了解如何在JSON和`...

    WinFormHashTable最简单用法,.net hashtable ,hashtable ,hashtable用法

    在WinForm应用程序中,我们可能会利用Hashtable来管理各种对象,尤其是在需要高效查找和操作数据时。下面将详细介绍WinForm中使用Hashtable的基本概念、用法及其优势。 1. **什么是Hashtable** Hashtable是System....

    HashTable

    在计算机科学中,哈希表(HashTable)是一种数据结构,它实现了关联数组的抽象数据类型,能够快速地进行查找、插入和删除操作。哈希表通过将键(Key)映射到表中的一个位置来访问记录,从而实现了快速访问。本文将...

    HashMap和HashTable的区别和不同

    - 当负载因子超过0.75时,`HashTable`也会进行扩容,但其扩容策略是将容量扩大到原容量的两倍加一(`2 * oldCapacity + 1`)。这种方法在某些情况下可能不如`HashMap`的扩容策略高效。 #### 4. 性能对比 - **...

    asp.net遍历hashtable

    在ASP.NET中,Hashtable是一种常用的数据结构,它是一个键值对集合,允许程序员存储和检索对象。本篇文章将深入探讨如何在ASP.NET中遍历Hashtable,以及相关的重要知识点。 首先,理解Hashtable的基本概念至关重要...

    hashtable存储数据.rar

    在Java编程语言中,`Hashtable`是一个非常基础且重要的数据结构,它属于集合框架的一部分,提供了键值对(key-value pairs)的存储功能。`Hashtable`类是线程安全的,意味着在多线程环境下,它能确保数据的一致性和...

    hashMap和hashTable的区别

    - **HashTable**:是早期的 Java 集合框架的一部分,可以追溯到 Java 1.0 版本。 7. **其他方法**: - **HashMap**:提供了 `containsKey`, `containsValue`, `putIfAbsent` 等方法。 - **HashTable**:提供了 `...

    C#-Hashtable应用

    此外,Hashtable不是线程安全的,如果你需要在多线程环境中使用,需要额外的同步措施,例如使用lock关键字。或者,可以选择使用ConcurrentDictionary,它是.NET Framework中线程安全的键值对集合。 总结来说,C#的...

    java Hashtable的泛型化

    在早期的Java版本中,`Hashtable`并没有直接支持泛型,这意味着你可以在其中存储任何类型的键(`Object`)和值(`Object`),这可能导致类型安全问题,比如在使用时进行强制类型转换。然而,随着Java 5的发布,泛型...

    HashMap和HashTable底层原理以及常见面试题

    HashMap和HashTable底层原理以及常见面试题 HashMap和HashTable是Java中两个常用的数据结构,都是基于哈希表实现的,但它们之间存在着一些关键的区别。本文将深入探讨HashMap和HashTable的底层原理,并总结常见的...

    HashMap与HashTable区别

    在Java编程语言中,`HashMap`和`HashTable`是两种非常重要的数据结构,它们都实现了`Map`接口,并提供了键值对的存储方式。这两种数据结构虽然相似,但在实现细节和使用场景上存在显著差异。下面将详细介绍`HashMap`...

    hashtable和hashmap的区别

    在Java编程语言中,`Hashtable`和`HashMap`是两种非常重要的数据结构,它们都实现了`Map`接口,用于存储键值对。尽管它们有着相似的功能,但在实现细节和应用场景上存在显著差异。接下来,我们将详细探讨`Hashtable`...

    hashmap与hashtable区别

    如果尝试将null作为键或值插入到`Hashtable`中,则会抛出`NullPointerException`。 - **HashMap**:允许键或值为null。对于键而言,每个`HashMap`实例只允许有一个键为null的条目;对于值而言,可以有多个键对应的值...

    在J2ME环境下把JSON解析为Hashtable

    【JSON解析为Hashtable在J2ME环境中的应用】 在Java ME(J2ME)环境中,由于资源限制,我们不能直接使用Java SE中的HashMap或ArrayList。在这种情况下,使用Hashtable和Vector作为数据容器是理想的选择,因为它们是...

    HashTable的java实现

    在Java编程语言中,哈希表(HashTable)是一种常见的数据结构,它提供了高效的数据存储和检索功能。哈希表基于哈希函数将键(Key)映射到数组的索引位置,通过键值对(Key-Value Pair)来存储数据。这种数据结构允许...

    hashtable序列化与反序列化

    在上面的代码中,`writeObject()`方法会将`myHashTable`对象转换为字节流并写入到`hashTable.ser`文件中。 接下来,我们讨论反序列化,即从序列化的形式恢复对象。反序列化是将字节流转换回原来的对象状态的过程。...

    C# .net HashTable

    `HashTable`是非线程安全的,如果你需要在多线程环境中使用,应使用`ConcurrentDictionary`类代替。此外,`Hashtable`在.NET Framework 4.0及以后版本中已被弃用,推荐使用`Dictionary, TValue>`。 10. **比较与...

    HashMap与HashTable和HashSet的区别

    当需要添加元素时,`HashTable`会根据键的哈希码将其放置到相应的位置上;查找元素时,同样利用键的哈希码快速定位。 **特点:** - **线程安全性**:`HashTable`的所有方法都是同步的,因此它是线程安全的。 - **...

    哈希表hashtable实现

    在“hashtable.c”和“hashtable.h”中,很可能采用了链地址法,即每个数组元素实际上是一个链表的头节点,相同哈希值的元素会被链接在一起。 3. 插入操作:当向哈希表中插入元素时,首先计算键的哈希值,然后在...

    使用哈希表Hashtable填充ListBox

    在IT行业中,哈希表(HashTable)是一种常用的数据结构,它提供了一种高效的方式来存储和检索数据。在.NET框架中,`Hashtable`是System.Collections命名空间下的一个类,它实现了键值对(Key-Value Pair)存储,允许...

Global site tag (gtag.js) - Google Analytics