關於Map集合的兩個面試題

2021-09-29 20:58:43 字數 587 閱讀 4319

hashtable對於有些人可能會有點面生。hashtable是jdk 1.0就已經出現的,細心的人可能會發現hashtable這是乙個不規範的命名方式,理論上來說應該寫成hashtable的。但是首先宣告一點hashtable就是正確的寫法,這是為數不多的不規範命名的類,原因是因為出現的比較早,命名格式還不是很統一,但因為被廣泛應用,所以後來就沒辦法改回來。在有的資料中可能會出線hashtable這種寫法,注意不要被誤導了。

hashtable實現了乙個雜湊表,它將鍵對映到值。 任何非null物件都可以用作鍵值或值。這一點上跟hashmap很相似,不同的是hashmap是允許null物件作為鍵或者值的,只不過是基本上不會這麼使用。hashmap是不同步的,而hashtable是同步的。

執行緒安全

鍵為null

值為null

同步效率

hashmap

不安全允許

允許不同步

高hashtable

安全不允許

不允許同步

低這個問題其實不難,list和set都是繼承於collection介面,而map本身就是乙個頂層介面,所以他們都不是繼承於map介面。

兩個面試題

1.實現乙個lite版的字串替換函式 c c char strreplace char str,const char sub,const char rep 限制條件和要求如下 1.其中str為原字串,sub為待被替換的子串。為簡單起見,假定字串sub和rep長度一樣 2.直接對原字串str進行修改並...

兩個簡單的面試題

分享兩個簡單的面試題,好吧,求質數的那個面試題居然沒做出來。要好好打基礎 public class study0812 獲取arr陣列中最大的數的索引,該索引加97就是字元中重複最多的字元 int maxindex 0 for int i 0 i arr.length 1 i return char...

兩個關於進製轉換的經典面試題

一 30!的結果,轉換成3進製有幾個0 拿常見的10進製來分析 例如5!中有幾個0 10中有幾個0 5!120 乙個0 10 3628800 2個0 在10進製中,出現0的情況無非是出現2個數相乘剛好為10,進製出現了0,5!中只有2和5能湊出10來,因此乙個0 10!中有2 5 10湊出兩個10來...