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

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

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

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

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美日韩高清不卡一区二区三区 | 国产午夜精品视频 | 美女黑丝网站 | 国产精品七七在线播放 | 亚洲福利视频一区二区 | 狠狠狠狠狠狠 | 中国特级黄色片 | 97国产伦子在线观看 | 2021入口一二三四麻豆 | 欧美日本韩国国产 | 天天干在线观看 | 白洁的性荡生活全文 | 一个人看的日本www 一个人看的视频www | 九九99九九在线精品视频 | 国产旗袍丝袜在线观看视频 | 色吧色吧色吧网 | 天堂网www在线资源中文 | 337p日本大胆欧洲色噜噜高清 | 欧美一级高清片 | 成人网18免费软件 | 中文字幕第一页在线视频 | 成人福利在线看 | 欧美日韩一区在线观看 | 久久99精品这里精品动漫6 | 操极品 | 中文字幕在线视频免费 | 黑人一区二区三区中文字幕 | 在线观看成年视频 | 国产精品久久久久久免费播放 | 免费一级国产生活片 | 久久久美女视频 | 天天看天天爽 | 日本高清二区 | 理论片午夜 | 日本黄色片一级 | 免费的成人a视频在线观看 免费的a级毛片 | 色图欧美 | 国产精品久久久亚洲动漫 | 午夜手机视频 | 中文字幕一区二区三区精彩视频 | 老司机午夜在线视频 |