黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 企業常見的Java數據結構面試題

企業常見的Java數據結構面試題

更新時間:2020-07-13 15:23:33 來源:動力節點 瀏覽2661次

請談一談,hashCode()和equals()方法的重要性體現在什么地方?

Java中的HashMap使用hashCode()和equals()方法來確定鍵值對的索引,當根據鍵獲取值的時候也會用到這兩個方法。如果沒有正確的實現這兩個方法,兩個不同的鍵可能會有相同的hash值,因此,可能會被集合認為是相等的。而且,這兩個方法也用來發現重復元素。所以這兩個方法的實現對HashMap的精確性和正確性是至關重要的。

請說一說,Java中的HashMap的工作原理是什么?

HashMap類有一個叫做Entry的內部類。這個Entry類包含了key-value作為實例變量。每當往hashmap里面存放key-value對的時候,都會為它們實例化一個Entry對象,這個Entry對象就會存儲在前面提到的Entry數組table中。Entry具體存在table的那個位置是根據key的hashcode()方法計算出來的hash值(來決定)。

介紹一下,什么是hashmap?

HashMap是一個散列表,它存儲的內容是鍵值對(key-value)映射。HashMap繼承于AbstractMap,實現了Map、Cloneable、java.io.Serializable接口。HashMap的實現不是同步的,這意味著它不是線程安全的。它的key、value都可以為null。此外,HashMap中的映射不是有序的。

HashMap的實例有兩個參數影響其性能:“初始容量”和“加載因子”。容量是哈希表中桶的數量,初始容量只是哈希表在創建時的容量。加載因子是哈希表在其容量自動增加之前可以達到多滿的一種尺度。當哈希表中的條目數超出了加載因子與當前容量的乘積時,則要對該哈希表進行rehash操作(即重建內部數據結構),從而哈希表將具有大約兩倍的桶數。通常,默認加載因子是0.75,這是在時間和空間成本上尋求一種折衷。加載因子過高雖然減少了空間開銷,但同時也增加了查詢成本(在大多數HashMap類的操作中,包括get和put操作,都反映了這一點)。在設置初始容量時應該考慮到映射中所需的條目數及其加載因子,以便最大限度地減少rehash操作次數。如果初始容量大于最大條目數除以加載因子,則不會發生rehash操作。

hashmap共有4個構造函數:

//默認構造函數。HashMap()

//指定“容量大小”的構造函數

HashMap(int capacity)

//指定“容量大小”和“加載因子”的構造函數

HashMap(int capacity,float loadFactor)

//包含“子Map”的構造函數

HashMap(Map<?extends K,?extends V>map)

講一講,如何構造一致性哈希算法。

先構造一個長度為232的整數環(這個環被稱為一致性Hash環),根據節點名稱的Hash值(其分布為[0,232-1])將服務器節點放置在這個Hash環上,然后根據數據的Key值計算得到其Hash值(其分布也為[0,232-1]),接著在Hash環上順時針查找距離這個Key值的Hash值最近的服務器節點,完成Key到服務器的映射查找。

這種算法解決了普通余數Hash算法伸縮性差的問題,可以保證在上線、下線服務器的情況下盡量有多的請求命中原來路由到的服務器。

請問,Object作為HashMap的key的話,對Object有什么要求嗎?

要求Object中hashcode不能變。

請問hashset存的數是有序的嗎?

Hashset是無序的。

TreeMap和TreeSet在排序時如何比較元素?Collections工具類中的sort()方法如何比較元素?

TreeSet要求存放的對象所屬的類必須實現Comparable接口,該接口提供了比較元素的compareTo()方法,當插入元素時會回調該方法比較元素的大小。TreeMap要求存放的鍵值對映射的鍵必須實現Comparable接口從而根據鍵對元素進行排序。Collections工具類的sort方法有兩種重載的形式,第一種要求傳入的待排序容器中存放的對象比較實現Comparable接口以實現元素的比較;第二種不強制性的要求容器中的元素必須可比較,但是要求傳入第二個參數,參數是Comparator接口的子類型(需要重寫compare方法實現元素的比較),相當于一個臨時定義的排序規則,其實就是通過接口注入比較元素大小的算法,也是對回調模式的應用(Java中對函數式編程的支持)。

企業常見的Java數據結構面試題

以上就是動力節點java培訓機構的小編針對“企業常見的Java數據結構面試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 涩涩视频免费看 | 欧美成人免费一区在线播放 | 免费一级特黄特色大片在线 | 男人午夜影院 | 亚洲精品综合久久 | 黄网站在线观看永久免费 | 一级黄色片a | 成人看片在线观看免费 | 韩国三级日本三级在线观看 | 日皮黄色| 操美女免费看 | 极品蜜桃臀美女啪啪 | 成人a毛片免费视频观看 | 性欧美videofree另类一 | 国产97色在线 | 日韩 | 91福利国产在线观看一区二区 | 九九亚洲综合精品自拍 | 黄色一级视频欧美 | 午夜网站在线观看免费网址免费 | 日本韩国欧美一区 | 亚洲韩国欧美一区二区三区 | 天天干天天干 | 一级片视频免费 | 亚洲狼人香蕉香蕉在线28 | 欧美一级免费在线观看 | 亚洲综合一区二区三区四区 | 小明成人永久视频在线观看 | 色亚洲影院 | 久久免费网 | 欧美成人免费一区在线播放 | 很黄很黄很刺激的视频免费 | 久久成人免费网站 | 国产精品12p| 意大利xxxx性hd极品 | 亚洲欧美日韩综合一区久久 | 日韩在线不卡一区在线观看 | 欧美一级第一免费高清 | 福利一区二区在线 | 成年女人免费又黄又爽视频 | 2020国产大片天天看 | 色综合888|