1. ArrayList和LinkedList的區別
ArrayList:基于動態陣列,連續記憶體存盤,適合下標訪問(隨機訪問),擴容機制,因為陣列長度固定,超出長度存資料時需要新建陣列,然后將老陣列的資料拷貝到新陣列,如果不是尾部插入資料還會涉及到元素的移動(往后復制一份,插入新元素),使用尾插法并指定初始容量可以極大提升性能、設定超過linkedList(需要創建大量的node物件),
LinkedList:基于鏈表,可以存盤在分散的記憶體中,適合做資料插入及洗掉操作,不適合查詢,需要逐一遍歷LinkedList必須使用iterator不能使用for回圈,因為每次for回圈體內通過get(i)取得某一元素時都需要對list重新進行遍歷,性能消耗極大,
另外不要試圖使用indexOf等回傳元素索引,并利用其進行遍歷,使用indexOf對list進行了遍歷,當結果為空時遍歷整個串列,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/288198.html
標籤:其他
上一篇:使用系統引數表,提升系統的靈活性
下一篇:Go--Sync.Once的應用
