集合類面試題
阿新 • • 發佈:2018-12-14
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 來實現排序。