散列表是一个重要和基本的数据结构。 可在http://en.wikipedia.org/wiki/Hash_table”rel=“noreferer”上读更多。 Wikipedia s Hash table article 。 幸运的是,它们很容易执行。
基本上,一个散列表是数据结构,具有关键意义,回报或为这一关键人物储存价值。
核心内容通常是使用一个阵列加以实施,我们称之为<条码>。 因此,关键价值乳制品储存在arr[key.hashCode()%arr.length]
。 通知说,由于你的阵列时间不定,且<代码>hashC ode/code>没有保证产生独特的价值,你最终将用标明阵列相同指数的关键。 页: 1
One way of resolving these collisions is to store a linked list for each member of arr
. Then the definition of arr
would look like this
LinkedList<Object> arr[];
标号为<代码>arr[key.hashCode()%arr.length]的所有物体将列入该职位名单。 当你想从表中提取物体时,跳跃到在<编码>上的链接清单中,[关键.hashCode()%arr.length],并在发现钥匙为<代码>的关键数值时通过相关名单的每个成员检索。
良好的单表执行方式可能与转版arr
等。 它一度过于全面。