黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 最新經(jīng)典java三大框架的面試題

最新經(jīng)典java三大框架的面試題

更新時(shí)間:2020-03-25 15:54:39 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2433次


  ArrayList和Vector的區(qū)別


  這兩個(gè)類都實(shí)現(xiàn)了List接口(List接口繼承了Collection接口),他們都是有序集合,即存儲(chǔ)在這兩個(gè)集合中的元素的位置都是有順序的,相當(dāng)于一種動(dòng)態(tài)的數(shù)組,我們以后可以按位置索引號(hào)取出某個(gè)元素,并且其中的數(shù)據(jù)是允許重復(fù)的,這是與HashSet之類的集合的最大不同處,HashSet之類的集合不可以按索引號(hào)去檢索其中的元素,也不允許有重復(fù)的元素。


  ArrayList與Vector的區(qū)別主要包括兩個(gè)方面:.


  (1)同步性:


  Vector是線程安全的,也就是說是它的方法之間是線程同步的,而ArrayList是線程序不安全的,它的方法之間是線程不同步的。如果只有一個(gè)線程會(huì)訪問到集合,那最好是使用ArrayList,因?yàn)樗豢紤]線程安全,效率會(huì)高些;如果有多個(gè)線程會(huì)訪問到集合,那最好是使用Vector,因?yàn)椴恍枰覀冏约涸偃タ紤]和編寫線程安全的代碼。


  (2)數(shù)據(jù)增長(zhǎng):


  ArrayList與Vector都有一個(gè)初始的容量大小,當(dāng)存儲(chǔ)進(jìn)它們里面的元素的個(gè)數(shù)超過了容量時(shí),就需要增加ArrayList與Vector的存儲(chǔ)空間,每次要增加存儲(chǔ)空間時(shí),不是只增加一個(gè)存儲(chǔ)單元,而是增加多個(gè)存儲(chǔ)單元,每次增加的存儲(chǔ)單元的個(gè)數(shù)在內(nèi)存空間利用與程序效率之間要取得一定的平衡。Vector默認(rèn)增長(zhǎng)為原來兩倍,而ArrayList的增長(zhǎng)策略在文檔中沒有明確規(guī)定(從源代碼看到的是增長(zhǎng)為原來的1.5倍)。ArrayList與Vector都可以設(shè)置初始的空間大小,Vector還可以設(shè)置增長(zhǎng)的空間大小,而ArrayList沒有提供設(shè)置增長(zhǎng)空間的方法。


  總結(jié):即Vector增長(zhǎng)原來的一倍,ArrayList增加原來的0.5倍。


  HashMap和Hashtable的區(qū)別


  HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,在只有一個(gè)線程訪問的情況下,效率要高于Hashtable。


  HashMap允許將null作為一個(gè)entry的key或者value,而Hashtable不允許。


  HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因?yàn)閏ontains方法容易讓人引起誤解。


  Hashtable繼承自Dictionary類,而HashMap是Java1.2引進(jìn)的Mapinterface的一個(gè)實(shí)現(xiàn)。


  最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個(gè)線程訪問Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap就必須為之提供同步。


  就HashMap與HashTable主要從三方面來說。


  一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)


  二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的


  三.值:只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value


  List和Map區(qū)別?


  一個(gè)是存儲(chǔ)單列數(shù)據(jù)的集合,另一個(gè)是存儲(chǔ)鍵和值這樣的雙列數(shù)據(jù)的集合,List中存儲(chǔ)的數(shù)據(jù)是有順序,并且允許重復(fù);Map中存儲(chǔ)的數(shù)據(jù)是沒有順序的,其鍵是不能重復(fù)的,它的值是可以有重復(fù)的。


  List,Set,Map是否繼承自Collection接口?


  List,Set是,Map不是


  List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?


  (這樣的題比較考水平,兩個(gè)方面的水平:一是要真正明白這些內(nèi)容,二是要有較強(qiáng)的總結(jié)和表述能力。)


  首先,List與Set具有相似性,它們都是單列元素的集合,所以,它們有一個(gè)共同的父接口,叫Collection。Set里面不允許有重復(fù)的元素,即不能有兩個(gè)相等(注意,不是僅僅是相同)的對(duì)象,即假設(shè)Set集合中有了一個(gè)A對(duì)象,現(xiàn)在我要向Set集合再存入一個(gè)B對(duì)象,但B對(duì)象與A對(duì)象equals相等,則B對(duì)象存儲(chǔ)不進(jìn)去,所以,Set集合的add方法有一個(gè)boolean的返回值,當(dāng)集合中沒有某個(gè)元素,此時(shí)add方法可成功加入該元素時(shí),則返回true,當(dāng)集合含有與某個(gè)元素equals相等的元素時(shí),此時(shí)add方法無法加入該元素,返回結(jié)果為false。Set取元素時(shí),不能細(xì)說要取第幾個(gè),只能以Iterator接口取得所有的元素,再逐一遍歷各個(gè)元素。


  List表示有先后順序的集合,注意,不是那種按年齡、按大小、按價(jià)格之類的排序。當(dāng)我們多次調(diào)用add(Obje)方法時(shí),每次加入的對(duì)象就像火車站買票有排隊(duì)順序一樣,按先來后到的順序排序。有時(shí)候,也可以插隊(duì),即調(diào)用add(intindex,Obje)方法,就可以指定當(dāng)前對(duì)象在集合中的存放位置。一個(gè)對(duì)象可以被反復(fù)存儲(chǔ)進(jìn)List中,每調(diào)用一次add方法,這個(gè)對(duì)象就被插入進(jìn)集合中一次,其實(shí),并不是把這個(gè)對(duì)象本身存儲(chǔ)進(jìn)了集合中,而是在集合中用一個(gè)索引變量指向這個(gè)對(duì)象,當(dāng)這個(gè)對(duì)象被add多次時(shí),即相當(dāng)于集合中有多個(gè)索引指向了這個(gè)對(duì)象,如圖x所示。List除了可以用Iterator接口取得所有的元素,再逐一遍歷各個(gè)元素之外,還可以調(diào)用get(indexi)來明確說明取第幾個(gè)。


  Map與List和Set不同,它是雙列的集合,其中有put方法,定義如下:put(objkey,objvalue),每次存儲(chǔ)時(shí),要存儲(chǔ)一對(duì)key/value,不能存儲(chǔ)重復(fù)的key,這個(gè)重復(fù)的規(guī)則也是按equals比較相等。取則可以根據(jù)key獲得相應(yīng)的value,即get(Objectkey)返回值為key所對(duì)應(yīng)的value。另外,也可以獲得所有的key的結(jié)合,還可以獲得所有的value的結(jié)合,還可以獲得key和value組合成的Map.Entry對(duì)象的集合。


  List以特定次序來持有元素,可有重復(fù)元素。Set無法擁有重復(fù)元素,內(nèi)部排序。Map保存key-value值,value可多值。


  說出ArrayList,Vector,LinkedList的存儲(chǔ)性能和特性


  ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差。而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,索引就變慢了,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。


  LinkedList也是線程不安全的,LinkedList提供了一些方法,使得LinkedList可以被當(dāng)作堆棧和隊(duì)列來使用。


最新經(jīng)典java三大框架的面試題


  以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“最新經(jīng)典java三大框架的面試題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 黑丝美女网站 | 日韩在线高清视频 | 免费福利在线 | 两性午夜性刺激在线观看免费 | 看全色黄大色黄大片免责看 | 国产香蕉免费精品视频 | 国产精品女丝袜白丝袜 | 色狠狠色综合久久8狠狠色 色狠狠成人综合网 | 中文字幕视频在线观看 | 一级黄色片免费 | 国产一区精品视频 | 欧美视频1| 一二三四视频社区在线播放中国 | 日本黄色影片在线观看 | 亚洲全网成人资源在线观看 | 岛国午夜精品视频在线观看 | 日日干天天干 | 视频在线观看你懂的 | 国产精品日韩 | 一本色道久久综合亚洲精品高清 | 天天做天天爱天天操 | 亚洲精品国产成人中文 | 全黄一级裸片视频免费区 | 国产aⅴ片 | 国产91激情对白露脸全程 | 爱呦视频在线播放网址 | 欧美激情 亚洲 | 日韩性网 | 99热com | 国产偷久久 | 大片免费播放器 | 国产99精品视频 | 欧美性受一区二区三区 | 性一交一无一伦一精一品 | 久久精品视频免费 | 日本欧美视频 | 永久免费看黄在线播放 | 中文字幕在线视频播放 | 免费日韩在线视频 | 精品卡1卡2卡三卡免费网站 | 91日本在线观看亚洲精品 |