hasMap 和 hasTable 与 Collection 和ArrayList

来源:互联网 发布:java 网络请求框架 编辑:程序博客网 时间:2024/06/05 10:28
HashMap和Hashtable的区别。

都属于Map接口的类,实现了将惟一键映射到特定的值上

HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。


Collection是个java.util下的接口,它是各种集合结构的父接口;ArrayList是类,是List接口的可变大小的数组实现,通俗的说:他是线性的,有利于查找。

容器分为三种,List,Set,Map

其中List ,Set 为Collection的实现,而ArrayList又为List接口的实现。HasMap和HasTable都是Map的实现,但是推荐用HasMap,HasTable是java1容器中古老的东西


Hashtables提供了一个很有用的方法可以使应用程序的性能达到最佳。

by Pete Ford
Hashtables(哈希表)在计算机领域中已不是一个新概念了。它们是用来加快计算机的处理速度的,用当今的标准来处理,速度非常慢,而它们可以让你在查询许多数据条目时,很快地找到一个特殊的条目。尽管现代的机器速度已快了几千倍,但是为了得到应用程序的最佳性能,hashtables仍然是个很有用的方法。

设想一下,你有一个包含约一千条记录的数据文件——比如一个小企业的客户记录——还有一个程序,它把记录读到内存中进行处理。每个记录包含一个唯一的五位数的客户l D号、客户名字、地址、帐户结余等等。假设记录不是按客户ID号顺序分类的,所以,如果程序要将客户号作为“key” 来查找一个特殊的客户记录,唯一的查找方法就是连续地搜索每个记录。有时侯,它会很快找到你需要的记录;但有时侯,在程序找到你需要的记录前,它几乎已搜索到了最后一条记录。如果要在1,000条记录中搜索,那么查找任何一条记录都需要程序平均查核500.5 ((1000 + 1 )/2)条记录。如果你常需要查找数据,你应该需要一个更快的方法来找到一条记录。


原创粉丝点击