java程序员集合框架面试题_常见的Java集合框架面试题目及回答
無論是需要招聘的企業人員還是正在求職或者打算跳槽的程序員,今天這篇都值得一看。這里整合了20個常見的Java集合框架面試題目,以及對應的nice的答案。面試這關至關重要,合適的問題和巧妙的回答,是企業和應聘者相互了解和有效溝通的關鍵,下面就一起來看看這些題目和答案。
1.為什么Map接口不繼承Collection 接口?Set是無序集合,并且不允許重復的元素
List是有序的集合,并且允許重復的元素
而Map是鍵值對
它被視為是鍵的set和值的set的組合
Map被設計為鍵值對的集合,所以不需要繼承Collection 接口
2.HashMap和Hashtable之間的區別?同步或線程安全
Null鍵和Null值
迭代值
默認容量大小
3.comparable 和 comparator的不同之處?comparable接口實際上是出自java.lang包
它有一個 compareTo(Object obj)方法來將objects排序
comparator接口實際上是出自 java.util 包
它有一個compare(Object obj1, Object obj2)方法來將objects排序
4.如何對Object的list排序?對objects數組進行排序,我們可以用Arrays.sort()方法
如果要對objects的集合進行排序,需要使用Collections.sort()方法
5. fail-fast 與 fail-safe 之間的區別?Fail fast快速地報告任何的failure。無論何時任何一個問題都會引發 fail fast系統fails
在Java Fail fast 迭代器中,迭代objects集合有時會出現并發修改異常,出現這種情況有2個原因
如果一個線程正在迭代一個集合,而另一個線程同時試圖修改這個集合
在調用remove()方法后,如何我們還試圖去修改集合object
6. Iterator、ListIterator 和 Enumeration的區別?Enumeration接口在Java1.2版本開始有,所以Enumeration是合法規范的接口
Enumeration使用elements()方法
Iterator對所有Java集合類都有實現
Iterator使用iterator方法
Iterator只能往一個方向前進
ListIterator僅僅對List類型的類實現了
ListIterator使用listIterator()方法
7.Java 中 Set 與 List 有什么不同?Set是一個不允許重復元素存在的集合
Set沒有索引
Set僅僅允許一個null值
Set有類:HashSet、LinkedHashMap、TreeSet
List有索引
List允許N個null值
List可以按插入順序顯示
List有類:Vector、ArrayList、LinkedList
8. arraylist 與 vector 的區別?Vector 在Java的第一個版本就引入了,也就是說vector是一個合法規范的類
ArrayList在Java1.2版本引入的,是Java 集合框架的組成部分
Vector是同步的
ArrayList是不同步的
9.什么類實現了List接口?ArrayList
LinkedList
Vector
10.什么類實現了Set接口?HashSet
LinkedHashSet
TreeSet
11.如何保證一個集合線程安全?Vector, Hashtable, Properties 和 Stack 都是同步的類,所以它們都線程安全的,可以被使用在多線程環境中
使用Collections.synchronizedList(list)) 方法,可以保證list類是線程安全的
使用java.util.Collections.synchronizedSet()方法可以保證set類是線程安全的
12.是否可以往 TreeSet 或者 HashSet 中添加 null 元素?可以往 hashset 中添加一個 null
TreeSet 也允許一個 null值
13.解釋下Collection的接口繼承關系?
14.Iterator符合哪個設計模式?Iterator 設計模式
15.HashSet 實現了哪個數據結構?HashSet 內部實現了hashmap
16.為什么 Collection 不能繼承 Cloneable 和 Serializable?List和Set唯一繼承 Collection 接口
SortedMap 繼承了 Map 接口
17.hashCode() 和 equals() 方法的重要性?如何在Java中使用它們?hashCode() 和 equals() 方法定義在”object”類中
如果equals() 方法在比較2個對象時返回true,那么hashCode()的返回值必須得一樣
18.array 和 arraylist 的區別?Array類似object集合類型,大小固定
Arraylist是同質和異質元素的集合
19.什么是 Properties 類?Properties 是Hashtable的子類。它被用于維護值的list,其中它們的鍵、值都是String類型
20.如何將一個字符串轉換為arraylist?使用 arrayList.toArray() 方法
可能對于不同的朋友來說,以上內容包含的不是很全面,歡迎點擊原文相互學習交流。
總結
以上是生活随笔為你收集整理的java程序员集合框架面试题_常见的Java集合框架面试题目及回答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAS Client 3.2.1 配置详
- 下一篇: Java:结合JavaSocket编程开