大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

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

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

請談一談,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數據結構面試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 在线观看国产精品入口 | 免费精品国产 | 亚洲精品字幕一区二区三区 | 国产精亚洲视频 | 一级毛片免费在线观看网站 | 四虎www成人影院 | 欧美激情视频一区 | 手机看片欧美日韩 | 呦系列视频一区二区三区 | 久久精品国产精品亚洲艾 | 欧美日韩国产高清视频 | 99国产国人青青视频在线观看 | 亚洲一区二区精品视频 | 国产精品9999久久久久仙踪林 | 亚洲精品视频在线 | 久久中文字幕2021精品 | 国产成人精品久久二区二区 | 欧美性影院 | 国产欧美国产精品第一区 | 91久久精品一区二区三区 | 国产精品久久久久国产精品三级 | 国产精品一一在线观看 | 99在线视频精品费观看视 | 久久久这里只有免费精品2018 | 亚洲午夜国产精品无卡 | 日韩精品一区二区三区在线观看l | 中文字幕在线看视频一区二区三区 | 国产性做久久久久久 | 亚洲国产综合视频 | 国产精品在线 | 性成人动作片在线看 | 久久精品亚洲牛牛影视 | 国产精品第8页 | 色黄网站青青草原免费 | 91久久精品日日躁夜夜躁欧美 | 一级作爱视频免费观看 | 欧美中文字幕在线视频 | 香蕉看片| 国产性一交一乱一伦一色一情 | 一区二区三区视频网站 | 老司机免费福利影院 |