String,StringBuffer,StringBuilder區別

1. java.util.*包的UML結構圖。 
2. Vector和ArrayList、LinkedList區別  Hashtable 和 HashMap之間的區別 
3. String、StringBuffer,StringBuilder之間區別。 

--回答-- 
1. 

Collection 
  ¦ 
  ¦_List 
  ¦  ¦_LinkedList 
  ¦  ¦_ArrayList 
  ¦  ¦_Vector 
  ¦ 
  ¦_Set 
  ¦ 
  ¦_Map 
  ¦  ¦_HashMap 
  ¦ 
  ¦_Compare,Comparetor 
  ¦ 
  ¦_Dictionary 
  ¦  ¦_Hashtable 
  ¦_ ... 

2.  LinkedList內部以鏈表形式存儲數據 
    ArrayList內部以數組形式存儲數據。 
    Vector同ArrayList,不過它與ArrayList比較起來是thread-safe的。 

    Hashtable是繼承了Dictionary,是線程安全的。HashMap實現了Map接口,不是線程安全的。 
      如何保證線程安全的?每個修改容器中數據的操作都是同步的(synchronized),因此保證了線程安全。 

3. String是長度不可變的,StringBuffer和StringBuilder長度都是可以變化的。 
StringBuffer是線程安全的,StringBuilder不是線程安全的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章