1. 程式人生 > >集合類面試題

集合類面試題

1.Q:ArrayList和Vector有什麼區別?HashMap和HashTable有什麼區別?

A:Vector和HashTable是執行緒同步的(synchronized)。效能上,ArrayList和HashMap分別比Vector和Hashtable要好。

2.Q:大致講解java集合的體系結構
   A:List、Set、Map是這個集合體系中最主要的三個介面。
      其中List和Set繼承自Collection介面。
      Set不允許元素重複。HashSet和TreeSet是兩個主要的實現類。
      List有序且允許元素重複。ArrayList、LinkedList和Vector是三個主要的實現類。
      Map也屬於集合系統,但和Collection介面不同。Map是key對value的對映集合,其中key列就是一個集合。key不能重複,但是value可以重複。HashMap、TreeMap和Hashtable是三個主要的實現類。
      SortedSet和SortedMap介面對元素按指定規則排序,SortedMap是對key列進行排序。

3.Q:Comparable和Comparator區別
    A:呼叫java.util.Collections.sort(List list)方法來進行排序的時候,List內的Object都必須實現了Comparable介面。
        java.util.Collections.sort(List list,Comparator c),可以臨時宣告一個Comparator 來實現排序。