JAVA-關於集合的一些問題

1.Collection、Set和List的區別? 
    Collection對象之間沒有指定的順序,允許有重複元素和多個null元素對象;它是Set和List接口的父類,是一種最通用型的集合接口; 
    Set各個元素對象之間沒有指定的順序,不允許有重複元素,最多允許有一個null元素對象; 

    List各個元素對象之間有指定的順序,允許重複元素和多個null元素對象; 

2.LinkedList,ArrayList,Vector,Stack,Queue區別?NodeList區別?

    1)LinkedList鏈式訪問,以指針相連,適合於在鏈表中間需要頻繁進行插入和刪除操作。

    2)ArrayList類似數組的形式,按照序號存儲,隨機訪問速度非常快。

    3)Vector向量按照各元素序號存儲,數組大小可以動態增長,對於大容量數據存儲效率較高。

    4)Stack堆棧,先進後出的數組。

    這些類的對比與選擇:

    如果涉及到堆棧隊列等操作,應該考慮List中的stack,queue

    對於需要快速插入刪除元素,應該使用linkedlist

    如果需要快速隨機訪問元素,應該選用arraylist

    如果程序在單線程環境中,選用非同步類

    如果在多線程中,選用同步類vector、stack和hashtable以及其子類。

幾個面試常見問題:

ArrayList和Vector有什麼區別?HashMap和HashTable有什麼區別?

  Vector和HashTable是線程同步的(synchronized)。性能上,ArrayList和HashMap分別比Vector和Hashtable要好。

講解java集合的體系結構

   A:ListSetMap是這個集合體系中最主要的三個接口。

      其中ListSet繼承自Collection接口。

      Set不允許元素重複。HashSetTreeSet是兩個主要的實現類。

      List有序且允許元素重複。ArrayListLinkedListVector是三個主要的實現類。

      Map也屬於集合系統,但和Collection接口不同。Mapkeyvalue的映射集合,其中key列就是一個集合。key不能重複,但是value可以重複。HashMapTreeMapHashtable是三個主要的實現類。

      SortedSetSortedMap接口對元素按指定規則排序,SortedMap是對key列進行排序

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