在日常開發中,經常使用到ArrayList型別,也就是List介面的實現類,List和Set介面又都繼承了Collection介面。
總不能總是使用ArrayList和HashSet吧?
所以藉此機會梳理一下各個實現類的特點以及使用場景:
1、ArrayList
優點:陣列實現,可以透過索引快速訪問
缺點:
1、插入和刪除元素,需要頻繁移動元素位置
2、陣列空間不夠需要擴容時,會開闢新陣列把就陣列複製過去,耗效能
3、執行緒不安全
2、LinkedList
雙向連結串列實現
優點:使用連結串列實現,適合動態插入和刪除
缺點:
1、隨機訪問元素的速度較慢
2、基於連結串列資料結構的實現,佔用的記憶體空間較大(除了儲存資料本身,還要儲存指標資訊)
3、Vector
基於陣列資料結構實現
優點:執行緒安全
缺點:效率低,插入、刪除、查詢元素所有操作的效率都很低
使用場景:
arrayList
由於有動態擴容的特性,適合在不知道列表大小的時候使用
適合快速隨即查詢和遍歷
不適合頻繁插入和刪除操作
linkedList
適合需要隨機插入、刪除效率要求比較高的時候
可以作為佇列和棧使用
vector
一般開發中很少使用。
關於各種List型別特點以及使用的場景
相關文章
- Redis多種資料型別以及使用場景Redis資料型別
- 關於Ajax和websocket的區別以及使用場景!Web
- 關於Redis資料型別以及應用場景的分析與總結Redis資料型別
- 關於 bind 你可能需要了解的知識點以及使用場景
- redis 五種資料型別和使用場景梳理!Redis資料型別
- 在.Net Core當中的WebApi 的模型繫結各種示例用法 以及使用場景WebAPI模型
- redis部署以及各種資料型別使用命令等詳解Redis資料型別
- UIModalPresentationStyle 各種型別的區別UI型別
- 身份證識別應用場景及功能特點
- Java中的引用型別和使用場景Java型別
- 秒殺系統的場景特點
- 講解關於蘋果開發者賬號的三種型別以及區別有哪些蘋果型別
- python中list的各種方法使用Python
- Redis五種資料型別應用場景Redis資料型別
- Redis中7種集合型別應用場景Redis型別
- [筆記]鎖:各種場景 整理筆記
- USDT支付通道開發-特點以及實現應用場景落地
- redis的五種資料型別及應用場景Redis資料型別
- 各種失敗型別型別
- LLC:分析社交遊戲玩家特點及4種型別遊戲型別
- 面試官:Redis有幾種資料型別,詳細說一下每種資料型別的使用場景面試Redis資料型別
- 各種機器學習演算法的應用場景分別是什麼?機器學習演算法
- 【人工智慧】各種機器學習的應用場景分別是什麼?人工智慧機器學習
- Redis系列-資料型別及使用場景Redis資料型別
- 【Mysql】mysqldump 匯出各種場景的應用MySql
- Swift - final關鍵字的介紹,以及使用場景Swift
- 各種型別檔案頭型別
- 泛型使用場景泛型
- Hbase和Hive的特點,和應用場景Hive
- 胃炎的各種型別 - 肝氣犯胃型...型別
- 幽默:關於型別的觀點演變型別
- 關於網上各種技術文章的一點思考
- 各種體虛型別的改善方式型別
- 關於synchronized的理解,共有兩種型別的鎖:synchronized型別
- 一文弄懂分散式場景中各種鎖的原理及使用分散式
- 關於Ruby的語言特點
- 無備份恢復各種場景的處理
- js建立物件的各種方法以及優缺點JS物件