面試準備(二)

一,關於Collection的框架的學習理解

         Collection是Java的集合框架,存儲的是一維數據,他繼承了Iterable<T>接口。

        其中有 List 和 Set還有Queue 繼承了 Collection的接口, 實現List接口的集合,加入數據的時候是按照順序加入數據的,而Set加入的時候內部有進行排序,並且不能重複。Queue是隊列,滿足先進先出。LinkedList實現了Queue的接口。

       在Java中實現List的接口有:ArrayList   LinkedList 以及 Vector 他們都實現了List

      不同的是 ArrayList的內部是通過數組實現的,也就是存儲的物理地址是相鄰的,遍歷和查找很快,但是插入和刪除效率較低,還有當容量不夠的時候,整個數組的元素要複製到一個新產生的大的數組中,話費的代價是較大的。

     Vector內部也是通過數組實現的,它和ArrayList不同的是,它是線程安全的,當容量不夠的時候它默認增長是一倍,而ArrayList是1.5倍,在不考慮多線程的情況下是不考慮它的,應爲要保證線程安全也是要話費代價的,效率比ArrayList慢

     LinkList內部是採用鏈表的形式組織的,所以插入和刪除容易,但是查找遍歷較慢

 

       實現Set的接口有 Hashset(無序不重複接口) HashMapSet (有序不重複接口)  Treeset(有序不重複接口) 等等

      所以使用這些集合類的時候,要注意區分它們

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章