資料多了用物件存,物件多了用集合存
1,陣列是固定長度的,集合是可變長度的
2,陣列建立時就已經確定其儲存的型別了,而集合可以存object(不同型別的物件)
collection 下面常用的有list和set
list常用的有arraylist linkedlist vector
set常用的有hashset treeset
為什麼會出現這麼多的容器的呢?
因為沒乙個容器對資料的儲存方式都有不同,這個儲存方式稱之為:資料結構(資料在記憶體中存放的形式)
集合和陣列的引用變數中存放的都是物件位址.
什麼是迭代器?迭代器就是取出元素的方式
畢老師比喻:
娃娃機就是集合,就是容器,裡面都有夾子(每個集合中的內部類),他們會實現迭代器介面(抽象夾子的作用形成的介面).
每個娃娃機(容器)的夾子(迭代器介面的實現類)可能具體形式不一樣(hasnext(),next(),remove()其中的方法實現可能不一樣),
但是作用和功能都是一樣的(hasnext(),next(),remove()判斷和取出和移除),
而且外界都是使用操縱桿(iterator()方法返回子類物件)操作夾子取出元素.
for(iterator it:al.iterator();it.hasnext();){
it.next();
for迴圈比while迴圈好在 iterator it:al.iterator() 此時是區域性的,for迴圈結束後就沒了,而while迴圈需要等待**站自動**
list 可重複 有順序 其中有索引
因為有索引,所以它可以用for迴圈遍歷獲得其中各個元素
列表迭代器 listiterator
set 不可重複 無序
集合和陣列的區別!
以下為jdk1.6中arraylist中的建構函式原始碼。public arraylist int initialcapacity constructs an empty list with an initial capacity of ten.public arraylist 可以看出在建立arr...
C 學習 集合和陣列
陣列和集合在某種意義上講很相似,都是可以對於大量資料進行處理。從例子感受一下集合和陣列的功能。public static void sumarray 定義5個數。int sum 0 初始為0 for int i 0 i numbers.length i 迴圈實現每個數之間的加和 console.wr...
瘋狂輸出 集合 和陣列
1為什麼要創造出集合 a.因為陣列只能儲存相同資料型別的資料.引用資料型別,和基本資料型別 b.陣列一旦給定了長度 就不能修改陣列的長度了。2.集合的作用 a.集合中只能儲存引用資料型別 通過自動裝箱和自動拆箱也可以儲存基本資料型別 自動裝箱不可以改變null值 b.陣列陣列找一旦給定了長度 集合還...