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