譯者:荔枝殼
原文鏈接:http://www.instanceofjava.com/2015/07/collections-interview-questions-java.html
小象科技原創(chuàng)作品,歡迎大家瘋狂轉(zhuǎn)發(fā);
機(jī)構(gòu)、自媒體平臺(tái)轉(zhuǎn)載務(wù)必至后臺(tái)留言,申請(qǐng)版權(quán)。
· Set是無(wú)序集合,并且不允許重復(fù)的元素
· List是有序的集合,并且允許重復(fù)的元素
· 而Map是鍵值對(duì)
· 它被視為是鍵的set和值的set的組合
· Map被設(shè)計(jì)為鍵值對(duì)的集合,所以不需要繼承Collection 接口
· 同步或線程安全
· Null鍵和Null值
· 迭代值
· 默認(rèn)容量大小
· comparable接口實(shí)際上是出自java.lang包
· 它有一個(gè) compareTo(Object obj)方法來(lái)將objects排序
· comparator接口實(shí)際上是出自 java.util 包
· 它有一個(gè)compare(Object obj1, Object obj2)方法來(lái)將objects排序
· 對(duì)objects數(shù)組進(jìn)行排序,我們可以用Arrays.sort()方法
· 如果要對(duì)objects的集合進(jìn)行排序,需要使用Collections.sort()方法
· Fail fast快速地報(bào)告任何的failure。無(wú)論何時(shí)任何一個(gè)問(wèn)題都會(huì)引發(fā) fail fast系統(tǒng)fails
· 在Java Fail fast 迭代器中,迭代objects集合有時(shí)會(huì)出現(xiàn)并發(fā)修改異常,出現(xiàn)這種情況有2個(gè)原因
· 如果一個(gè)線程正在迭代一個(gè)集合,而另一個(gè)線程同時(shí)試圖修改這個(gè)集合
· 在調(diào)用remove()方法后,如何我們還試圖去修改集合object
· Enumeration接口在Java1.2版本開(kāi)始有,所以Enumeration是合法規(guī)范的接口
· Enumeration使用elements()方法
· Iterator對(duì)所有Java集合類都有實(shí)現(xiàn)
· Iterator使用iterator方法
· Iterator只能往一個(gè)方向前進(jìn)
· ListIterator僅僅對(duì)List類型的類實(shí)現(xiàn)了
· ListIterator使用listIterator()方法
· Set是一個(gè)不允許重復(fù)元素存在的集合
· Set沒(méi)有索引
· Set僅僅允許一個(gè)null值
· Set有類:HashSet、LinkedHashMap、TreeSet
· List有索引
· List允許N個(gè)null值
· List可以按插入順序顯示
· List有類:Vector、ArrayList、LinkedList
· Vector 在Java的第一個(gè)版本就引入了,也就是說(shuō)vector是一個(gè)合法規(guī)范的類
· ArrayList在Java1.2版本引入的,是Java 集合框架的組成部分
· Vector是同步的
· ArrayList是不同步的
· ArrayList
· LinkedList
· Vector
· HashSet
· LinkedHashSet
· TreeSet
· Vector, Hashtable, Properties 和 Stack 都是同步的類,所以它們都線程安全的,可以被使用在多線程環(huán)境中
· 使用Collections.synchronizedList(list)) 方法,可以保證list類是線程安全的
· 使用java.util.Collections.synchronizedSet()方法可以保證set類是線程安全的
· 可以往 hashset 中添加一個(gè) null
· TreeSet 也允許一個(gè) null值
· Iterator 設(shè)計(jì)模式
· HashSet 內(nèi)部實(shí)現(xiàn)了hashmap
· List和Set唯一繼承 Collection 接口
· SortedMap 繼承了 Map 接口
· hashCode() 和 equals() 方法定義在'object'類中
· 如果equals() 方法在比較2個(gè)對(duì)象時(shí)返回true,那么hashCode()的返回值必須得一樣
· Array類似object集合類型,大小固定
· Arraylist是同質(zhì)和異質(zhì)元素的集合
· Properties 是Hashtable的子類。它被用于維護(hù)值的list,其中它們的鍵、值都是String類型
· 使用 arrayList.toArray() 方法
▼
參與本文討論請(qǐng)猛戳“閱讀原文”
聯(lián)系客服