摘要:二類庫中的集合接口和迭代器接口集合類的基本接口是接口,有兩個基本方法方法用于向集合中添加元素,添加元素確實改變集合,返回,否則集中不允許有重復(fù)的對象。
一. 集合接口
Java集合類庫將接口(interface)與實現(xiàn)(implementation)分離。
舉個例子,隊列接口的最小形式
interface Queue{ void add(E element); E remove(); int size(); }
但是隊列實現(xiàn)的兩種方式:一種是使用循環(huán)數(shù)組;另一種是使用鏈表。
二. Java類庫中的集合接口和迭代器接口集合類的基本接口是Collection接口,有兩個基本方法
public inter Collection{ boolean add(E element); Interator iterator }
add方法用于向集合中添加元素,添加元素確實改變集合,返回true,否則false;集中不允許有重復(fù)的對象。
iterator方法用于返回一個實現(xiàn)了Iterator接口的對象。依次訪問集合中的元素
包含3個方法
public interface Iterator{ E next(); //查找下一個 boolean hasNext(); //是否有下一個 void remove(); //刪除 }
集合的末尾,next方法拋出NoSuchElementException,需要在調(diào)用next之前調(diào)用hasNext方法。
Collectionc=...; Iterator iter=c.iterator(); while(iter.hasNext()) { String element=iter.next(); //do something }
java SE5.0起可以使用 for each進行循環(huán)
for(String element :c) { // do something }
可以與任意實現(xiàn)了Iterable接口的對象一起工作,Iterable接口
pulic interface Iterable{ Iterator iterator(); }
標準類中的任何集合都可以使用 for each循環(huán)
元素被訪問的順序取決于集合類型。
備注:Iterator接口的next和hasNext方法與Enumeration接口的nextElement和hasMoreElements方法的作用一樣,但是這個方法名太累贅,更喜歡短的方法名稱。
java迭代器認為是位于兩個元素之間,當調(diào)用next時,迭代器就越過下一個元素,并返回剛剛越過的那個元素的引用。
2. 刪除元素刪除上次調(diào)用next方法時返回的元素。想要刪除某個元素,仍然需要越過這個元素。如果調(diào)用remove之前沒有調(diào)用next,將拋出一個IllegalStateException異常。所以每次刪除之前,之前都要調(diào)用next方法
Iterator3.泛型實用方法it = stack.iterator(); //刪除 it.next(); it.remove(); it.next(); it.remove();
Collection與Iterator都是泛型接口,可以編寫操作任何集合類型的實用方法。類庫設(shè)計者:某些實用方法非常有用,應(yīng)該提供給用戶。
但是實現(xiàn)Collection接口的每一個類都要提供太多的例行方法,過于繁瑣,java類庫提供AbstractCollection,將基礎(chǔ)方法size和iterator抽象化,提供了例行方法,使實際的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)者并沒有需要實現(xiàn)所有例行方法。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/64984.html
集合接口 核心集合接口封裝了不同類型的集合,如下圖所示,這些接口允許獨立于其表示的細節(jié)來操縱集合,核心集合接口是Java集合框架的基礎(chǔ),如下圖所示,核心集合接口形成層次結(jié)構(gòu)。 showImg(https://segmentfault.com/img/bVbntJW?w=402&h=146); Set是一種特殊的Collection,SortedSet是一種特殊的Set,依此類推,另請注意,層次結(jié)構(gòu)...
集合介紹 本節(jié)介紹Java集合框架,在這里,你將了解集合是什么以及它們?nèi)绾问鼓愕墓ぷ鞲p松、程序更好,你將了解構(gòu)成Java集合框架的核心元素 — 接口、實現(xiàn)、聚合操作和算法。 集合 — 有時稱為容器 — 只是一個將多個元素組合到一個單元中的對象,集合用于存儲、檢索、操作和傳遞聚合數(shù)據(jù)。通常,它們代表形成自然組的數(shù)據(jù)項,例如撲克牌(卡片集合)、郵件文件夾(信件集合)或電話目錄(名稱到電話號碼的映射)...
摘要:說一說迭代器通過集合對象獲取其對應(yīng)的對象判斷是否存在下一個元素取出該元素并將迭代器對象指向下一個元素取出元素的方式迭代器。對于使用容器者而言,具體的實現(xiàn)不重要,只要通過容器獲取到該實現(xiàn)的迭代器的對象即可,也就是方法。 前言 歡迎關(guān)注微信公眾號:Coder編程獲取最新原創(chuàng)技術(shù)文章和相關(guān)免費學(xué)習(xí)資料,隨時隨地學(xué)習(xí)技術(shù)知識!** 本章主要介紹Collection集合相關(guān)知識,結(jié)合面試中會提到...
摘要:集合類主要負責(zé)保存盛裝其他數(shù)據(jù),因此集合類也被稱為容器類。所有的集合類都位于包下。表示一組對象,這些對象也稱為的元素。成員方法把集合轉(zhuǎn)成數(shù)組迭代器,集合的專用遍歷方式之接口概述有序的,也稱為序列。 前言 在編程中,常常需要集中存放多個數(shù)據(jù)。從傳統(tǒng)意義上講,數(shù)組是我們的一個很好的選擇,前提是我們實現(xiàn)已經(jīng)明確知道我們將要保存的對象的數(shù)量。 一旦在數(shù)組初始化時指定了數(shù)組長度,這個數(shù)組長度就...
摘要:集合框架重點理解用于存儲數(shù)據(jù)的容器。集合容器在不斷向上抽取過程中。出現(xiàn)了集合體系。,刪除將集合中的元素全刪除,清空集合。刪除集合中指定的對象。注意刪除成功,集合的長度會改變。作用用于取集合中的元素。是集合特有的迭代器。是單列集合是雙列集合 集合框架(重點理解):用于存儲數(shù)據(jù)的容器。特點:1:對象封裝數(shù)據(jù),對象多了也需要存儲。集合用于存儲對象。2:對象的個數(shù)確定可以使用數(shù)組,但是不確定怎...
閱讀 1802·2021-11-24 09:39
閱讀 2290·2021-09-30 09:47
閱讀 4144·2021-09-22 15:57
閱讀 1873·2019-08-29 18:36
閱讀 3577·2019-08-29 12:21
閱讀 590·2019-08-29 12:17
閱讀 1263·2019-08-29 11:25
閱讀 724·2019-08-28 18:26