1. 程式人生 > >安全程式設計(五)- Java集合類

安全程式設計(五)- Java集合類

1.Java集合類框架的基本介面有哪些?

        Collection:代表一組物件,每一個物件都是她的子元素;

        Set:不包含重複元素的Collection;

        List:有順序的Collection,但是不包含重複元素;

        Map:可以把鍵(key)對映到值(value)的物件,鍵不能重複。

2.為什麼集合類沒有實現cloneable介面和serializable介面?

        首先,cloneable(克隆)和serializable(序列化)是針對於具體的例項,物件有意義。而Collection(集合)的形式多種多樣,有不能重複的Set和能重複的List,二者在這上面有異議,故!

3.什麼是迭代器(Iterator)?

        Iterator介面提供了很多對集合元素進行迭代的方法。每一個集合類都包括了可以返回迭代器例項的迭代方法。迭代器可以在迭代過程中刪除底層集合元素,但是不能直接呼叫集合的remove (Object obj)刪除,可以通過迭代器的remove()方法刪除。

4.Iterator和ListIterator的區別是什麼?

        Iterator可以遍歷Set和List,但是ListIterator只能遍歷List;

        Iterator對集合只能向前遍歷,ListIterator既可以向前又可以向後;

        ListIterator實現了Iterator介面,幷包含其他功能,如:增加元素,刪除元素。。。。

5.Java中的HashMap的工作原理是什麼?

        Java中的HashMap是以鍵值對(key-value)的形式儲存元素的。需要一個hash函式,它使用hashcode()和equals()方法來向集合/從集合中新增和檢索元素。當呼叫put()方法時,HashMap會計算key的hash值,然後把鍵值對儲存在集合中合適的索引上。如果key值已經存在了,value會被更新成新值。