更新時間:2020-06-23 12:08:01 來源:動力節(jié)點(diǎn) 瀏覽2821次
大家對vivo一定不陌生,vivo是一家全球性的移動互聯(lián)網(wǎng)智能終端公司,有很多小伙伴都想加入其中。要想進(jìn)入vivo當(dāng)java程序員,也會遇到java筆試題,小編整理了一下vivo校招JAVA筆試題總結(jié),希望能夠?qū)Υ蠹矣兴鶐椭?/p>
大致區(qū)別:
接口支持多實(shí)現(xiàn),類不支持多繼承,這樣接口更利于擴(kuò)展;
實(shí)現(xiàn)接口,必須實(shí)現(xiàn)接口中的所有方法,繼承抽象類,卻不一定要實(shí)現(xiàn)他的所有方法;
接口中成員變量都必須被public static final,成員函數(shù)都必須被public abstract修飾,抽象類中可以用public protected default abstract;
抽象類的方法可以有默認(rèn)實(shí)現(xiàn),但是接口不可以;
抽象類的速度要比接口快;
添加新方法:接口,要添加就必須修改實(shí)現(xiàn)類,抽象函數(shù)卻可以有默認(rèn)的實(shí)現(xiàn);
底層數(shù)據(jù)結(jié)果哈希表,特點(diǎn)和HashMap是一樣的;
Hashtable線程安全集合,運(yùn)行速度慢;
HashMap線程不安全的集合,運(yùn)行速度快;
Hashtable命運(yùn)和Vector是一樣的,從JDK1.2開始,被更先進(jìn)的HashMap取代;
HashMap允許存儲nu11值,nu11鍵;
Hashtable 不允許存儲nu11值,nu11鍵;
哈希值相同,但內(nèi)容不相同,采用桶存儲;
哈希值相同,equals()比較內(nèi)容也相同的話,就不存儲,因?yàn)檫@個情況下,key相等,不允許這種情況發(fā)生;
擴(kuò)充:
HashMap和和Hashtable都是基于哈希表存儲數(shù)據(jù)的,具體就是:內(nèi)部維護(hù)了一個存儲數(shù)據(jù)的Entry數(shù)組,HashMap采用鏈表解決沖突,每一個Entry本質(zhì)上是一個單向鏈表。當(dāng)準(zhǔn)備添加一個key-value對時,首先通過hash(key)方法計算hash值,然后通過indexFor(hash,length)求該key-value對的存儲位置,計算方法是先用hash&0x7FFFFFFF后,再對length取模,這就保證每一個key-value對都能存入HashMap中,當(dāng)計算出的位置相同時,由于存入位置是一個鏈表,則把這個key-value對插入鏈表頭。
前者線程安全,但是速度慢,后者線程不安全,但速度快。
StringBuilder類提供與StringBuffer 相同的方法。
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“vivo校招JAVA筆試題總結(jié)”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743