用了java集合這麼久,還沒有系統的研究過java的集合結構,今天親自畫了下類圖,總算有所收穫。
一、所有集合都實作了Iterable介面。
Iterable介面中包含一個抽象方法:Iterator
Iterator:它包含三個方法,hashNext(),next(),remove()三種方法,通過它們可以實現集合的遍歷和元素刪除,例如:
Collection
list.add("a");
list.add("b");
list.add("c");;
while (iterator .hasNext()) {System.out.println(element);/ System.out.println(list);//[a, b, c] iterator = list.iterator(); iterator.next();
iterator.remove();
直接實作Iterator介面呢?因為:Iterator會攜帶目前集合的位置訊息,下次使用再使用的時候就非從0開始了;而Iterable介面每次都傳回一個Iterator物件(透過內部類別實作Iterator),各個迭代器之間互不影響。 二、ListIterator 從AbstractList起封裝了public ListIteratorlistIterator()方法,返回一個ListIterator,它在Iterator
listIterator()方法,返回一個ListIterator,它在Iterators(Paddious))可以實現雙向遍歷。();
list.add("a");
list.add("b");
list.add("c"); = list.listIterator(3);
while (iterator.hasPrevious()) {
三、比較
ArrayList:允許存放重複元素,且元素是有順序的,隨機存取較為方便。
LinkedList:鍊錶實現,插入與刪除時較優於ArrayList。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器