14.new Object[5]語(yǔ)句是否創(chuàng)建了5個(gè)對(duì)象
答案為否。題目的語(yǔ)句其實(shí)是創(chuàng)建了一個(gè)數(shù)組實(shí)例,長(zhǎng)度為5,每個(gè)數(shù)組元素的值均是null,并沒有創(chuàng)建5個(gè)Object對(duì)象。如果需要?jiǎng)?chuàng)建5個(gè)Object對(duì)象,則需要為每個(gè)數(shù)組元素分別指定。
15.什么是集合
集合是用來也只能存儲(chǔ)其他對(duì)象的對(duì)象,代表了一種底層結(jié)構(gòu),用于擴(kuò)展數(shù)組的功能。集合框架由一系列的接口和實(shí)現(xiàn)類組成,基本包括:列表(List)、集合(Set)、映射(Map)等,它們大多具有可迭代性和可比較性。
16.迭代器是什么
迭代器,提供一種訪問一個(gè)集合對(duì)象中各個(gè)元素的途徑,同時(shí)又不需要暴露該對(duì)象的內(nèi)部細(xì)節(jié)。Java通過提供Iterable和Iterator兩個(gè)接口來實(shí)現(xiàn)集合類的可迭代性。迭代器主要的用法就是,首先用hasNext()作為循環(huán)條件;再用next()方法得到每一個(gè)元素;最后再進(jìn)行相關(guān)的操作。
17.比較器是什么
比較器是把集合或數(shù)組的元素強(qiáng)行按照指定方法進(jìn)行排序的對(duì)象,它是實(shí)現(xiàn)了Comparator接口類的實(shí)例。如果一個(gè)集合元素的類型是可比較的(實(shí)現(xiàn)了Comparable接口),那么它就具有了默認(rèn)的排序方法,比較器則是強(qiáng)行改變它默認(rèn)的比較方式來進(jìn)行排序?;蛘哂械募显夭豢杀容^(沒有實(shí)現(xiàn)Comparable接口),則可用比較器來實(shí)現(xiàn)動(dòng)態(tài)的排序。
18.Vector與ArrayList的區(qū)別
Vector是線程安全的,因?yàn)樗僮髟氐姆椒ǘ际峭椒椒ǎ鳤rrayList則不是。開發(fā)過程中應(yīng)該根據(jù)需要進(jìn)行選擇,如果需要保證線程安全的地方則需要使用Vector,而不必要的時(shí)候則無需使用Vector,因?yàn)锳rrayList效率會(huì)高一些。
19.HashMap和HashTable的區(qū)別
HashMap和HashTable的區(qū)別主要有以下幾個(gè)方面
- HashTable的方法是同步的,HashMap不能同步,所以在多線程場(chǎng)合要使用HashTable,這個(gè)區(qū)別就像Vector和ArrayList一樣
- HashTable不允許null值(Key和value都不可以),HashMap允許null值(Key和value都可以)
- HashTable有一個(gè)contains()方法,功能和containsValue()功能一樣
- HashTable使用Enumeration遍歷,而HashMap使用Iterator進(jìn)行遍歷
- HashTable與HashMap中的hash數(shù)組的初始化大小及其增長(zhǎng)方式不同
- 哈希值的使用不同,HashTable直接使用對(duì)象的hashCode,而HashMap會(huì)重新計(jì)算hash值
20.集合使用泛型帶來了什么好處
集合使用泛型以后,可以達(dá)到元素類型明確的目的,避免了手動(dòng)類型轉(zhuǎn)換的過程,同時(shí),也讓開發(fā)者更加明確容器保存的是什么類型的數(shù)據(jù)
21.如何把集合對(duì)象中的元素進(jìn)行排序
對(duì)于沒有排序功能的集合來說,都可以使用java.util.Collections.sort()方法進(jìn)行排序,它除了集合對(duì)象以外,還需要提供一個(gè)比較器。如果列表中的元素全都是相同類型的,并且這個(gè)類實(shí)現(xiàn)了Comparable接口,可以簡(jiǎn)單地調(diào)用Collections.sort(),如果這個(gè)類沒有實(shí)現(xiàn)Comparator,就可以傳遞一個(gè)Comparator實(shí)例作為sort()的第二個(gè)參數(shù)進(jìn)行排序。另外,如果不想使用默認(rèn)的分類順序進(jìn)行排序,同樣可以傳遞一個(gè)Comparator實(shí)例作為參數(shù)來進(jìn)行排序。