Java中Collection接口的基礎介紹

1-1.概述

集合,是Java中提供的一種容器,能夠用來存儲多個數據。java

集合與數組的區別:數組的長度是固定不變的,集合的長度是可變的;數組中存儲的是同一類型的元素,能夠存儲基本數據類型,也能夠存儲對象,而在集合中只能對象。數組

1-2.集合的基本框架介紹

常見集合有:Vector集合(有序集合),ArrayList集合(有序集合),LinkedList集合(有序集合),TreeSet集合(無序集合,存入和取出的順序可能不同),HashSet集合(無序集合,存入和取出的順序可能不同,LinkedHashSet集合(有序集合)。框架

在學習集合中,應該掌握如何使用集合存儲數據;會遍歷集合,把數據取出來;掌握每種集合的特性。學習

1-3.LIst接口:

是Vector集合,ArrayList集合,LinkedList集合的共性抽取,造成的父類(接口);指針

1).是有序的集合(存儲和取出元素的順序相同)。對象

2).容許存儲重複的元素。索引

3).有索引,可使用普通的for循環遍歷。接口

1-4.Set接口:

是TreeSet集合,HashSet集合的共性抽取,造成的父類(接口),LinkedHashSet集合(有序集合)是HashingSet的子類;rem

1).不容許存儲重複的元素;it

2).沒有索引(不能使用普通的for循環遍歷)。

Collection接口:
定義的是全部單列集合中共性的方法;

全部的單列集合均可以使用共性的方法。

沒有帶索引的方法。

集合的學習方式:

1).學習頂層:學習頂層接口/抽象類中的共性方法,全部子類均可以使用。

2).使用底層:底層不是接口就是抽象類,沒法建立對象使用,須要使用底層的子類建立對象使用。

1-5.Collection的經常使用功能:

1).public bollenan add(E e);用於把給定對象添加到當前集合中;

2).public clear();用於清除集合中的全部元素;

3).public boolean remove(E e);把給定的對象在當前集合中刪除;

4).public boolean isEmpty();判斷是否爲空;

5).public int size();返回集合中元素的個數;

6).public boolean contains(E e);用於判斷集合中是否含有給定的對象;

7).public Object[ ] toArray();把集合中的元素存儲到數組中。

2-1.Iterator接口的介紹

是對集合進行迭代的迭代器。

java.util.Iterator接口:迭代器(對集合進行遍歷)。

2-2.Iterator的兩個經常使用方法:

1).boolean hasNext();

判斷集合中是否還有下一個元素,如有則返回ture,沒有則返回flase。

2).E next();

判斷迭代的下一個元素(作兩件事:先去除下一個元素,而後指針後移一位)。

注意:Iterator迭代器是接口,沒法使用,須要使用Iterator接口的實現類的對象。

獲取實現類的方法比較特殊,在Colleation接口中有一個方法叫iterator(),這個方法返回的就是迭代器的實現類對象。

Iterator<E>  iterator()返回的就是在此Colleation的元素上進行迭代的迭代器。

2-3.迭代器使用步驟

1).使用集合中的方法iterator獲取迭代器的實現類對象,使用Iterator接口接收(這是一個多態)。

2).使用Iterator接口中的方法hasNext判斷是否還有下一個元素。

3).使用Iterator接口中的方法next取出集合中下一個元素。

注意:Iterator<E>接口是有泛型的,迭代器的泛型緊跟着集合走,集合是什麼泛型,迭代器就是什麼泛型。

當沒有元素能夠在取出時就拋出異常(NoSuchElementException)。

2-4.加強for循環

其底層使用的也是迭代器,使用for循環的格式,簡化了迭代器的書寫。

是Java1.5以後的特性。

Collection<E> extends Iterator<E>:全部的單列集合均可以使用加強for循環。

public interface Iterable<T>實現這個接口容許對象成爲「foreach」語句的目標。

加強for循環是用來遍歷集合和數組的。

格式:

      for(集合或數組的數據類型 變量名:集合名或數組名){ S.out(變量名);}

注意:該for循環必須有被遍歷的目標,目標只能是Collection或者都是數組,且該for循環僅做爲遍歷操做出現,不能在遍歷的過程當中對元素進行增刪操做。

相關文章
相關標籤/搜索