Java中的數組和List


一.數組Array

1.數組在內存中是連續存儲的,所以它的索引速度是非常的快,而且賦值與修改元素也很簡單
2.聲明數組的時候,必須同時指明數組的長度,數組的長度過長,會造成內存浪費,數組和長度過短,會造成數據溢出的錯誤。
3. 數組只能存放類型一樣的數據(基本類型/引用類型)

 

二.集合Collection
1. JAVA集合只能存放引用類型的的數據,不能存放基本數據類型。但是集合可以存放不同類型的引用類型,因為存入集合的元素都被轉化成了Object類型,之后再引用集合中的類型需要強制類型轉換,這就導致了集合的類型不安全,以及類型轉化的性能損耗
三.List (列表)是接口,與Set(集)一起繼承了Collection接口, 請注意,Map沒有繼承Collection接口,Map提供key到value的映射。 
線性是一種邏輯結構,數據結構中的除去首尾元素外,其他元素都有唯一的前驅和后繼。

1. Set和List的區別:
List特點:元素有放入順序,元素可重復 ,Set特點:元素無放入順序,元素不可重(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的HashCode決定的,其位置其實是固定的)


2. List有三個實現類:ArrayList LinkedList Vector
2.1 ArrayList底層是以數組實現的。
2.2 LinkedList是雙向鏈表實現,適合於經常進行增刪操作,但是查詢和修改效率沒ArrayList、Vector快。
2.3 Vector與ArrayList類似,也是數組實現,但是他是同步的,是線程安全的,不會有並發產生的問題,但是效率要低於ArrayList。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM