【java集合框架的3個核心問題】
1、比較arraylist、lkedlist和vector的異同?
2、談談hasap和treeap的實現原理?
3、如何選擇合适的集合類?
……
第四篇:集合框架(3個)
1、比較arraylist、lkedlist和vector的異同?
相同點:
三者都實現了list接口,存儲數據的方式都是基于動态數組的形式。
當元素數量超過當前數組長度時,會在内存中分配一塊更大的内存…
将原有數組中的數據複制過去,釋放原數組,然後将新元素放到新數組中。
不同點:
1)arraylist和vector是動态數組,lkedlist是雙向鍊表。
2)arraylist和vector支持随機訪問元素,而lkedlist不支持。
3)arraylist在内存不足時,擴容為原來的15倍,vector擴容為原來的2倍。
而lkedlist在内存上更加優化,因為lkedlist的節點不需要連續存儲。
4)arraylist和lkedlist不是線程安全的,而vector是線程安全的。
…
2、談談hasap和treeap的實現原理?
hasap和treeap,是java中兩種常用的ap實現。
它們各自有着,獨特的實現原理和使用場景。
一、hasap:
hasap是基于哈希表實現的ap接口。
它允許使用null鍵和null值。
hasap不保證映射的順序,特别是它不保證該順序恒久不變。
hasap的實例,有兩個參數影響其性能,即初始容量和加載因子。
初始容量,是哈希表在創建時的容量;
加載因子,是哈希表在其容量自動增加之前,可以達到多滿的一種尺度。
當哈希表中的條目數,超過了加載因子與當前容量的乘積時…
哈希表就會進行rehash操作;
請勿開啟浏覽器閱讀模式,否則将導緻章節内容缺失及無法閱讀下一章。
相鄰推薦:病嬌女總裁,開局非要貼貼才能好 全家都在拖後腿,大帥追妻太難了 某魔圓的真理之名 火槍靈能與錦衣衛 大唐皇子:我有農場系統 重生?我真是好男人啊! 穿越諸天:從拜師九叔開始 我的監護人是機器人 豬肉西施她,幹活比殺豬還絲滑! 這真是戀愛攻略? 鬥羅:不想成為主角呀 惹我?開局就讓你跪下求治病 末世多子多福,從美豔老闆娘開始 修仙:我的分身是洪荒巨獸 我被她們戀愛模拟了? 萬器 主宰見聞錄 赤紅,寶可夢最強精靈訓練家 大明中興全憑殺殺殺搶搶搶 讓你去修仙,不是去修仙子!