面試題常見問題List,Set和Map的區別

2022-07-12 08:45:10 字數 923 閱讀 7161

<1>list,set,map三種集合的區別:

1.list和set集合繼承自collection

map集合不繼承collection

2.list是一種有序(儲存順序)可重複(元素)的集合。

set是一種無序(儲存順序)不可重複(元素)的集合。

map是一種以鍵值對形式儲存的集合。

<2>arraylist和vector的區別:

1.arraylist:是執行緒不安全的,效率高。

2.vector:是執行緒安全的。

3.arraylist和vector都可以使用for語句或者迭代器遍歷,但是vector還可以使用列舉遍歷。

<3>arraylist和linkedlist的區別:

arraylist是採用變長陣列演算法實現的。

linkedlist是採用雙向迴圈鍊錶實現的。

<4>list介面中三個實現類的區別:

linkedlist:採用雙向迴圈鍊錶實現。可以快速執行插入,刪除的方法。執行緒不安全。

arraylist:採用變長陣列演算法實現的,特點是:快,執行緒不安全。

vector:採用變長陣列演算法實現的,特點是:慢,執行緒安全。

<5>hashmap與hashtable的區別:

1.hashmap允許存null鍵和null值,hashtable不允許存null鍵和null值。

2.hashmap是執行緒不安全的,hashtable執行緒是安全的。

3.hashmap可以採用迭代器遍歷集合中的元素,而hashtable既可以使用迭代器,還可以使用列舉遍歷。

<6>collection與collections的區別:

collection介面:是集合類的父介面,繼承它的介面只要有list和set

collections類:針對集合的乙個幫助類,它提供了一系列的靜態方法對各種集合的搜尋,排序等操作。

XGBOOST常見問題以及面試題

說到xgboost需要首先說一說gbdt,它是一種基於boosting增強策略的加法模型,訓練時候採用前向分布演算法進行貪婪學習,每次學習都是一顆cart樹,來擬合之前t 1棵樹 結果與訓練樣本真實值的殘差。xgboost是對gbdt進行來一系列的優化,比如損失函式進行了二階展開,目標函式加入正則項...

面試題 2面常見問題

面試官提出問題,謝謝,1.自我介紹 面試官您好,我是來自 大學 專業的 是2015年6月份的本科應屆生。近期剛剛結束了在北京 公司的 方向的培訓,無論是大學中所學到的知識還是培訓中所得到的專案經驗,都是想真正的應用到自己職業生涯中。現在大家最關注的詞語莫過於 大資料 雲計算 不論是企業級還是個人上網...

Docker 類面試題(常見問題)

docker 常見問題彙總 映象相關 可以使用sudo docker rmi sudo docker images q f danging true 命令 使用sudo docker run image env 於docker相關的本地資源存放在 var lib docker 目錄下,其中conta...