一、思考題
1.Set和List有哪些區(qū)別?
List是有序的可重復(fù)的Collection,使用此接口能夠精確的控制每個(gè)元素插入的位置。能夠使用索引地訪問(wèn)List中的元素,這類似于Java的數(shù)組。Set是一種無(wú)序的不包含重復(fù)元素的Collection,相比List,它可以地處理增添和刪除元素。
2.Collection與Collections有什么區(qū)別?
Collection是集合類的上級(jí)接口,繼承于他的接口主要有Set和List,Collections是針對(duì)集合類的一個(gè)幫助類,他提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作。
3. Iterator和ListIterator的區(qū)別是什么?
Iterator可用來(lái)遍歷Set和List集合,但是ListIterator只能用來(lái)遍歷List。Iterator對(duì)集合只能是前向遍歷,ListIterator既可以前向也可以后向。ListIterator實(shí)現(xiàn)了Iterator接口,并包含其他的功能,比如:增加元素,替換元素,獲取前一個(gè)和后一個(gè)元素的索引等。
4. Enumeration接口和Iterator接口的區(qū)別有哪些?
Enumeration速度是Iterator的2倍,同時(shí)占用少的內(nèi)存。但是,Iterator遠(yuǎn)遠(yuǎn)比Enumeration安全,因?yàn)槠渌€程不能夠修改正在被iterator遍歷的集合里面的對(duì)象。同時(shí),Iterator允許調(diào)用者刪除底層集合里面的元素,這對(duì)Enumeration來(lái)說(shuō)是不可能的。
5. 使用泛型的好處是什么?
它提供了編譯期的類型安全,確保你只能把正確類型的對(duì)象放入集合中,避免了在運(yùn)行時(shí)出現(xiàn)ClassCastException。程序的可讀性和健壯性高。
相關(guān)文章
了解千鋒動(dòng)態(tài)
關(guān)注千鋒教育服務(wù)號(hào)
掃一掃快速進(jìn)入
千鋒移動(dòng)端頁(yè)面
掃碼匿名提建議
直達(dá)CEO信箱