摘要:我們知道,在各類查找方式中,哈希查找的時(shí)間復(fù)雜度是最小的因?yàn)檫@種方式并不需要遍歷,而是直接計(jì)算出數(shù)據(jù)存儲(chǔ)的位置,當(dāng)然在中依然繼承了這種優(yōu)點(diǎn)。但是,在中的使用也提升了存取速度。這是源代碼中對(duì)數(shù)組的定義。
我們知道,在各類查找方式中,哈希查找的時(shí)間復(fù)雜度是最小的O(1),因?yàn)檫@種方式并不需要遍歷,而是直接計(jì)算出數(shù)據(jù)存儲(chǔ)的位置,當(dāng)然在hashmap中依然繼承了這種優(yōu)點(diǎn)。但是,在hashmap中node的使用也提升了存取速度。
這是源代碼中對(duì)table數(shù)組的定義。
transient Node[] table;
我們發(fā)現(xiàn),table是一個(gè)Node類型的數(shù)組,而Node實(shí)現(xiàn)了Map的Entry接口,也就是說(shuō),它將一條記錄和他的關(guān)鍵字綁定在了一起,我們可以通過(guò)一個(gè)node對(duì)象直接獲取一對(duì)鍵值對(duì)的鍵和值,而不需要逐個(gè)遍歷對(duì)比來(lái)查找他的值
static class Nodeimplements Map.Entry { final int hash; //該鍵值對(duì)的哈希值 final K key; //鍵 V value; //值 Node next; //指向下一對(duì)鍵值對(duì),實(shí)現(xiàn)鏈?zhǔn)? Node(int hash, K key, V value, Node next) { this.hash = hash; this.key = key; this.value = value; this.next = next; } public final K getKey() { return key; } public final V getValue() { return value; } public final String toString() {… } public final int hashCode() {…} public final V setValue(V newValue) {… } public final boolean equals(Object o) {…} }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69985.html
摘要:概念二叉樹(shù)是另一種樹(shù)型結(jié)構(gòu),它的特點(diǎn)是每個(gè)結(jié)點(diǎn)至多只有兩棵子樹(shù)即二叉樹(shù)中不存在度大于的結(jié)點(diǎn),并且,二叉樹(shù)的子樹(shù)有左右之分其次序不能任意顛倒。查找最大值查找最小值思路傳入二叉樹(shù),尋找左子樹(shù),直到找到不存在左子樹(shù)的節(jié)點(diǎn)。 概念 二叉樹(shù)(Binary Tree)是另一種樹(shù)型結(jié)構(gòu),它的特點(diǎn)是每個(gè)結(jié)點(diǎn)至多只有兩棵子樹(shù)(即二叉樹(shù)中不存在度大于 2 的結(jié)點(diǎn)),并且,二叉樹(shù)的子樹(shù)有左右之分(其次序不能...
摘要:數(shù)據(jù)結(jié)構(gòu)數(shù)組方法一數(shù)組添加元素開(kāi)頭插入尾部刪除頭部刪除數(shù)組合并迭代器方法會(huì)迭代數(shù)組中每個(gè)元素,直到返回。這個(gè)數(shù)據(jù)結(jié)構(gòu)使用了與有限集合相同的數(shù)學(xué)概念,但應(yīng)用在計(jì)算機(jī)科學(xué)的數(shù)據(jù)結(jié)構(gòu)中。散列算法的作用是盡可能快的在數(shù)據(jù)結(jié)構(gòu)中找到一個(gè)值。 數(shù)據(jù)結(jié)構(gòu) 數(shù)組 方法 //一、數(shù)組 var arr = []; // 添加元素 arr.push(1, 2); // [1,2] // 開(kāi)頭插入 arr.u...
摘要:對(duì)象對(duì)象的概念首先了解一下對(duì)象怎么用。對(duì)象是解析節(jié)點(diǎn)樹(shù)結(jié)構(gòu)的主要入口。繼承鏈關(guān)系對(duì)象是繼承于對(duì)象的,是一個(gè)用于接收事件的對(duì)象。代碼示例的標(biāo)準(zhǔn)規(guī)范中的對(duì)象和對(duì)象都是繼承于對(duì)象的。屬性對(duì)象的屬性用于獲取指定的節(jié)點(diǎn)名稱。參數(shù)表示要?jiǎng)h除的節(jié)點(diǎn)。 Node對(duì)象 Node對(duì)象的概念 首先了解一下Node對(duì)象怎么用。DOM的標(biāo)準(zhǔn)規(guī)范中提供了Node對(duì)象,該對(duì)象主要提供了用于解析DOM節(jié)點(diǎn)樹(shù)結(jié)構(gòu)的屬性...
閱讀 2668·2021-11-24 10:44
閱讀 1928·2021-11-22 13:53
閱讀 1952·2021-09-30 09:47
閱讀 3714·2021-09-22 16:00
閱讀 2445·2021-09-08 09:36
閱讀 2323·2019-08-30 15:53
閱讀 2798·2019-08-30 15:48
閱讀 998·2019-08-30 15:44