map  是图,可以1对多的叫做图

解决方案 »

  1.   

    hashmap是新的api
    如果你是在jdk1.3以后,最好用hashmap
      

  2.   

    Hashtable 在collection framework出现前已经有散列表一个,速度快
    Hashmap implements map这个interface, key-value的关系
      

  3.   

    其实他们两个的功能基本上是一样的.都是键值对方式存储,而且键不能有重复.之所以出现两个是因为JAVA1之后又出现了JAVA2.JAVA1当中有写类设计的不太好.例如awt.所以在JAVA2中他们试图改变这种不好的设计.于是就出现了hashmap和hashtable.hashtable是JAVA1里的东西.论效率来讲,他不如JAVA2的hashmap.所以现在一般用hashmap.
      

  4.   

    首先,HashTable和Hashmap看上去根List差不多,所不同的是,List使用index position来定位element的,Map却是由另一个key object来定位element,所以,如果可以很简单地把element放入List(add(ele)),放入Map就还雪要一个Key object(put(key, ele)).
    如果你不知道Synchronized是什么意思,那么就不用知道HashTable和Hashmap间的主要的那个区别了,你就当sun公司从来没有写过HashTable那个类,用Hashmap all the time.
    如果你知道Synchronized,那么HashTable是thread safe,所谓的thread safe就会影响速度,而且在实际应用中,光光sychronized底层结构是不够的。这个问题已经被人讨论过n次了,这里不想再提。
      

  5.   

    hashtable在jdk1.3以后已经逐渐不推荐使用了,效率比hashmap低,但实现了同期化,就跟vector和ArrayList之间的区别一样
      

  6.   

    Map翻译映射,不严格的说就是“键(KEY)--值(VALUE)”对的集合,可以通过一个键找到一个值,其中键和值可以是任意类型的对象,映射中定义了一些基本操作,可以使用PUT方法向映射中加入一个键值对,映射中不能包含重复的键,否则新的覆盖旧的,使用GET方法可以取出指定键所对应的值,如果键值不存在返回NULL。
    HashTable继承与Dictionary完成了Map接口,而Hashmap继承于AbstractMap,AbstractMap完成了Map接口,两个类基本上是等价的,楼上已有介绍,我再说几句,它们还有点不同,Hashmap不是同步的,因此在PUT和GET 的时间由程序员来保证同步,Hashmap允许键和值为NULL。
    现在说的是Hashmap是HashTable的替代,效率上是前者稍微快点,也不是很明显
      

  7.   

    我觉得HashMap和HashTable其实在功能上差不多,但是HashMap比HashTable快,所以HashMap即将取代HashTable
      

  8.   

    hashmap 是映射关系,就像函数一样
    hashtable 是一个列表像数组一样
      

  9.   

    问:
    hashtable是一个key对应一个value
    而hashmap可以是一个key加多个value吗???