1. 程式人生 > >java常見面試題(二)

java常見面試題(二)

stack word list span 哈希 shm sta tar base

1.java集合類

  Collection是最基本的集合接口,一個Collection代表一組Object,即Collection的元素(Elements)。Java SDK不提供直接繼承自Collection的類,Java SDK提供的類都是繼承自Collection的“子接口”如List和Set。

   LinkedList實現了List接口,允許null元素。由於linkedlist底層是基於雙向鏈表實現的,所以LinkedList查詢效率不高,但是刪除和插入效率略高。線程不安全的

   ArrayList實現了List接口,允許null元素。底層基於數組實現,默認長度為10,可自動擴容,擴容大小為原來的 1/2。查詢速度快,插入和刪除效率低。線程不安全的

   Vector非常類似ArrayList,但是Vector是線程安全的。

   Stack繼承自Vector 是一個後進先出的棧。

   Set是一種不包含重復的元素的Collection

   Map沒有繼承Collection接口,map提供一個key到value的映射。map的key不能重復,每個key只能映射一個value。

   Hashtable繼承Map接口,實現一個key-value映射的哈希表。任何非空(non-null)的對象都可作為key或者value。同步的。

   HashMap和Hashtable類似,不同之處在於HashMap是非同步的,並且允許null,即null value和null key。在JDK1.8之前HashMap是基於數據+鏈表實現的,1.8修改為數據+鏈表+紅黑樹。

java常見面試題(二)