JAVA---集合部分(1)
集合和數組的區別
1)長度的區別:
數組:長度是固定的
集合:長度是可變的
2)存儲數據類型的區別:
數組:可以存儲基本數據類型,還能存儲引用數據類型
集合:只能存儲引用類型
3)存儲類型的元素的區別:
集合:存儲多種類型的元素:水+可樂+啤酒...
數組:存儲的是同一種數據類型的元素:水杯中的水Collection 層次結構中的根接口。
Collection 表示一組對象,這些對象也稱為 collection 的元素。一些 collection 允許有重復的元素,而另一些則不允許。一些 collection 是有序的,而另一些則是無序的。
JDK 不提供此接口的任何直接實現:它提供更具體的子接口(如 Set 和 List)實現。
3.Collection的基本方法:
boolean addAll(Collection c):添加一個集合中的元素
boolean removeAll(Collection c):刪除一個集合中的元素(思考:刪除一個元素算是刪除呢還是刪除所有算是刪除?)
交集功能:
boolean retainAll(Collection c):對一個集合取交集(思考:返回值類型表達的是什麽意思?交集的元素去哪裏?)
4.Iterator iterator():表示對集合中的元素進行叠代(遍歷)
Iterator:接口
Object next()返回叠代的下一個元素。 (獲取元素)
boolean hasNext()如果仍有元素可以叠代,則返回 true。
5.List集合是Collection集合的子接口,你裏面的iterator()方法在我的List也可以用!
接口與接口的關系是繼承關系!
List集合專有叠代遍歷方式
ListIterator listIterator() ;
ListIterator接口:
boolean hasNext():表示正向遍歷:是否有下一個可以叠代的元素
Object next():獲取下一個元素
boolean hasPrevious():表示逆向遍歷:是否有上一個可以叠代的元素
Object previous()返回列表中的前一個元素
有個順序問題:要想使用逆向遍歷,必須先向遍歷,如果先逆向遍歷,沒意義,一般不這樣使用!
JAVA---集合部分(1)