1.Java集合框架是什么?说出一些集合框架的优点?
每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:
(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。
(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。
(3)通过使用JDK附带的集合类,可以降低代码维护成本。
(4)复用性和可操作性。
2.集合框架中的泛型有什么优点?
Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。
3.Java集合框架的基础接口有哪些?
Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。
Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。
List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。
Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。
一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。
4.为何Collection不从Cloneable和Serializable接口继承?
Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。
当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。
在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。
5.为何Map接口不继承Collection接口?
尽管Map接口和它的实现也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。
如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。
6.Iterator是什么?
Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。
7.Enumeration和Iterator接口的区别?
Enumeration的速度是Iterator的两倍,也使用更少的内存。Enumeration是非常基础的,也满足了基础的需要。但是,与Enumeration相比,Iterator更加安全,因为当一个集合正在被遍历的时候,它会阻止其它线程去修改集合。
迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者从集合中移除元素,而Enumeration不能做到。为了使它的功能更加清晰,迭代器方法名已经经过改善。
8.为何没有像Iterator.add()这样的方法,向集合中添加元素?
语义不明,已知的是,Iterator的协议不能确保迭代的次序。然而要注意,ListIterator没有提供一个add操作,它要确保迭代的顺序。
9.为何迭代器没有一个方法可以直接获取下一个元素,而不需要移动游标?
它可以在当前Iterator的顶层实现,但是它用得很少,如果将它加到接口中,每个继承都要去实现它,这没有意义。
10.Iterater和ListIterator之间有什么区别?
(1)我们可以使用Iterator来遍历Set和List集合,而ListIterator只能遍历List。
(2)Iterator只可以向前遍历,而LIstIterator可以双向遍历。
(3)ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素的索引位置。
常见的hr面试官面试问题大全
时间:2023-09-14 23:0:24企业面试官面试的问题有哪些
时间:2023-09-15 17:0:48企业面试官面试问题及参考
时间:2023-09-17 08:0:27高校教师招聘面试答辩100题
时间:2023-09-17 06:0:03CopyRight 1996-2024 Www.creditsailing.Com Inc All Rights Reserved. 婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻娑樷槈濮楀牊鏁鹃梺鍛婄懃缁绘﹢寮婚悢铏圭<闁靛繒濮甸悘宥夋⒑缁嬪潡顎楁い锔诲灦閳ワ箓宕稿Δ浣告疂闂傚倸鐗婄粙鎴︼綖瀹€鈧槐鎾存媴閸濆嫮褰欓梺鎼炲劀閸滀礁鏅i梻浣筋嚙鐎涒晝绮欓幒鏇熸噷闂佽绻愬ù姘跺储婵傚憡绠掓繝鐢靛Т閿曘倝鎮ц箛娑欏仼婵炲樊浜濋悡娑氣偓鍏夊亾閻庯綆鍓涢惁鍫ユ倵鐟欏嫭绀€闁绘牕鍚嬫穱濠囨倻閽樺)銊ф喐瀹€鍕畺闁挎繂娲ㄧ壕钘壝归敐鍛儓濞存粓绠栭弻娑欐償閿涘嫸绱炵紓浣戒含閸嬬偟鎹㈠┑瀣倞鐟滃繘鎮惧ú顏呭€甸柣鐔告緲椤忣亜顭块悷閭﹀剶鐎殿喖鎲¢幆鏃堝Ω瑜嶈ぐ鍕⒑閹肩偛鍔橀柛鏂跨Ч楠炲棝宕熼鈧崷顓濈剨闁哄诞鍌氼棜濠电姷鏁告慨鐑藉极閹间礁纾绘繛鎴欏焺閺佸銇勯幘璺烘瀾闁告瑥绻樺濠氬醇閻旀亽鈧帡鏌¢崱妤侇棤缂佽鲸甯為埀顒婄秵閸嬫帡宕曢妷锔剧闁稿繗鍋愭晶杈╃磼鏉堛劍灏伴柟宄版噽閹峰綊顢涘⿰鍛崶闂傚倷娴囧畷鐢稿窗鎼达絿绀婂┑鐘叉搐閽冪喓鈧箍鍎遍悧婊冾瀶閵娾晜鈷戦柛娑橈攻鐏忕敻鏌涢悩宕囧ⅹ闁伙絽鍢茬叅妞ゅ繐瀚崝锕€顪冮妶鍡楃瑐闂傚嫬绉电粋宥呪堪閸喓鍘甸梺缁樺灦閿氶柣蹇嬪劦閺屽秷顧侀柛鎾寸懇楠炲鏁嶉崟顓犵効闂佸湱鍎ら崹鐔煎醇椤忓牊鐓曟い鎰╁€曢弸鏃堟煕濡鍔ら柍瑙勫灴閹瑧鎹勬ウ鎸庢毐婵$偑鍊栧▔锕傚炊閵娿儮鍋撻崼鏇熺叆闁绘柨鎼牎闂佺粯鎸婚惄顖炲蓟濞戞ǚ妲堥柛妤冨仜缁犲姊虹化鏇熸珨缂佹煡绠栨俊鐢稿礋椤栨凹娼婇梺鐐藉劚閸熷潡骞楅悽鍛娾拺缂侇垱娲橀弶褰掓煕鐎n偅灏い顏勫暣婵″爼宕卞Δ鍐噯闂佽瀛╅崙褰掑礈閻旂厧绠柟杈鹃檮閸嬪嫰鏌涘┑鍕姢妞ゆ梹娲熷娲偡閹殿喗鎲奸梺鑽ゅ枂閸庣敻骞冨鈧、鏃堝醇閻斿搫骞堥梺璇插嚱缂嶅棙绂嶅┑瀣庡饪伴崼鐕佹⒖婵犮垼鍩栭崝鏍偂閵夛妇绡€闂傚牊绋掗敍宥嗕繆閼奸娼愮紒缁樼洴瀹曘劑顢欓崜褏鍘掔紓鍌欐祰妞村摜鏁埄鍐х箚闁归棿绀佸敮濡炪倖姊归崕鎶藉箖閹寸偟绡€婵炲牆鐏濋弸娑㈡煥閺囶亞鐣电€规洘娲熸俊鍫曞炊閿濆懍澹曢梺姹囧灲濞佳呮暜閸洘鐓冮悹鍥ㄧ叀閸欏嫭顨ラ悙宸剰闁宠鍨垮畷鍗炩枎韫囨挾鐟╅梻鍌氬€搁崐鎼佸磹閻戣姤鍊块柨鏇炲€哥粻鏍煕椤愶絾绀€闁搞劌鍊圭换娑橆啅椤旇崵鍑归梺绋款儏閸婂潡寮婚妸鈺傚亜闁告繂瀚呴姀銏㈢<闁绘ê纾晶鐢告煛瀹€鈧崰鏍€佸☉銏犲耿闊洦鎸锋竟鏇㈡⒒娴e鈧偓闁稿鎸搁湁闁绘ê妯婇崕鎰版煕婵犲嫭鏆柡灞诲妼閳规垿宕卞▎蹇撴瘓缂傚倷闄嶉崝瀣垝濞嗘挸钃熸繛鎴欏灩缁秹鏌熼幆褍顣抽柡鍡欏Т椤啴濡舵惔婵堢泿闂佸摜鍠庨悺銊︾┍婵犲洤閱囬柡鍥╁仜閼板灝鈹戞幊閸婃洟宕导鏉戠疇闁糕剝绋掗埛鎴︽偣閸ャ劌绲绘い鎺嬪灲閺屾盯骞嬪┑鍫⑿ㄩ悗瑙勬礃缁捇骞冮姀銈嗗亗閹艰揪绲块弳顐︽⒒娴h櫣甯涢柛鏃€娲熼獮鏍敃閿曗偓閸ㄥ倿鏌涚仦鍓р棨濞存粍绮撻弻鐔兼焽閿曗偓閺嬫稓浜歌箛鏇犵=濞达綁娼ф俊鍏笺亜椤撶偛妲绘い顐㈢箰鐓ゆい蹇撴噹娴狀參姊虹紒姗嗘當闁绘锕畷鏇㈠箻閸撲胶锛濇繛杈剧到婢瑰﹤危閹间焦鐓熼柡宥庡墮椤ュ秵淇婇銈呮灈婵﹥妞介獮鎰償閵忋埄妲梻浣呵归敃銈囩礊婵犲洤绠栭柨鐔哄Т閸楁娊鏌曡箛銉х?闁告ǹ妫勯埞鎴﹀煡閸℃浠柣搴g懗閸ャ劌浠у銈呯箰濡稓澹曟總鍛婄厓鐟滄粓宕滈悢鐓庢槬闁逞屽墯閵囧嫰骞掗幋婵愪痪闂佹娊鏀遍崹鍧楀箖濡ゅ懎鎹舵い鎾跺剱閳ь剙鏈换娑㈠礂閻撳骸顫掗梺鍝勬湰閻╊垱淇婇幖浣肝ㄩ柨鏇楀亾濞寸姵鎸抽幃妤冩喆閸曨剛顦銈庡亜椤﹀灚淇婇崼鏇熸櫜濠㈣泛锕﹂ˇ銊╂⒑閸愬弶鎯堥柛濠冩倐瀹曟繈骞掗幘鑼畾闂佺粯鍔︽禍婊堝焵椤掍胶澧电€规洘绻堥獮瀣晝閳ь剟宕归崒姘f斀闁绘ê纾。鏌ユ煕鐎n偓鑰块柡灞界Ч瀹曨偊宕熼锝嗩啀缂備焦鍎宠ぐ鐐靛垝濞嗘挸钃熸繛鎴炵煯濞岊亪鏌涢幘妤€瀚▍妤冪磽閸屾瑦顦烽柣鎺炵畱椤灝顫滈埀顒€锕㈡担绯曟斀闁绘ǹ顕滃銉ノ旈悩鍙夊暈闁哄懎澧庨埀顒傛暩绾爼宕戦幘鑸靛枂闁告洦鍓涢ˇ銊╂⒑閹肩偛濡介悗绗涘嫮鈹嶅┑鐘叉处閸ゅ姊婚崼鐔恒€掔紒鎰仦缁绘繈鎮介棃娴躲垽鏌涢悢璺哄祮闁糕斁鍋撳銈嗗笒椤︻垱鏅剁€涙ɑ鍙忓┑鐘插暞閵囨繈鏌熼鎯у幋鐎殿喛鍩栭幆鏃堝箻閺夋垹妲虹紓鍌氬€搁崐椋庢閿熺姴闂い鏇楀亾鐎规洖婀遍幑鍕瑹椤栨碍顓块梻浣告惈鐞氼偊宕曟潏鈺冧笉闁荤喐鍣磋ぐ鎺撴櫜闁告侗鍠涚涵鈧梻浣告啞閻熴儱螞濠靛棭娼栭柧蹇撴贡绾惧吋淇婇婵嗗惞妞わ负鍎靛铏圭矙閸栤€充紣濠电姭鍋撻梺顒€绉撮悞鍨亜閹哄秷鍏岄柛鐔哥叀閺岀喖宕欓妶鍡楊伓 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鏁愭径濠勵吅闂佹寧绻傞幉娑㈠箻缂佹ḿ鍘遍梺闈涚墕閹冲酣顢旈銏$厸閻忕偛澧藉ú瀛橆殽閻愯揪鑰块柟宕囧█椤㈡寰勭€f挻绮撳缁樻媴鐟欏嫬浠╅梺鍛婃煥缁夊爼骞戦姀銈呯妞ゆ柨妲堥敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掑嫭鐓涘鑸得顔芥叏婵犲啯銇濋柡灞芥嚇閹瑩鎳犵捄渚純濠电姭鎷冪仦鑺ョ彎闂佸搫鏈惄顖炲箖閵忋倕宸濆┑鐘插閳诲繘姊绘担椋庝覆缂佹彃娼″畷妤€螣鐠佸磭绠氬┑顔界箓閻牆危閻戣姤鈷戠紒瀣儥閸庢劙鏌熼崨濠冨€愰柛鈹垮劜瀵板嫭绻涢悙顒傗偓鍝勵渻閵堝棙瀵欓柛灞剧矊閸ゎ剛绱撻崒娆戭槮闁稿﹤鎽滅划鏃堟濞戞劗绱伴棅顐㈡处缁嬫垶鍎柣鐔哥矊缁绘﹢骞嗘笟鈧畷濂稿Ψ閿旇瀚兼繝娈垮枤閹虫挸煤閵堝鍊堕柛娆忣槺缁犳儳霉閿濆懎鏆遍柛鐔跺嵆楠炴濡烽埡鍌楁嫽闂佺ǹ鏈悷銊╁礂瀹€鍕嚑妞ゅ繐鐗婇悡銉╂煛閸ヮ煁顏堝焵椤掍胶绠為柕鍡曠椤繃锛愬┑鍥ㄦ珝闂備胶绮摫闁告挻鑹惧玻鍧楁偄閸忓皷鎷洪梺闈╁瘜閸樺吋绂嶆ィ鍐╃厱闁瑰墽顥愭竟妯虹暆閿濆懏鍋ラ柛鈺嬬節瀹曘劑顢欓幆褍绠婚梻鍌欑閹诧紕缂撻崸妤€纾块柡灞诲劚濮规煡鏌嶉崫鍕櫤闁绘挻娲樻穱濠囶敍濮橆厽鍎撻梺鍏肩摃椤濡甸崟顖f晜闁告洦鍋呭▓缁樼節绾版ǚ鍋撳畷鍥х厽閻庤娲栧畷顒冪亙闂侀€炲苯澧撮柨婵堝仦閹棃濮€閵忋垻妲囨繝鐢靛仜閻楀棝鎮樺┑瀣嚑闁绘柨鍚嬮悡娆戠磼鐎n亞浠㈤柡鍡涗憾閺岋綁鏁愰崨顓熜╅梺瀹狀潐閸ㄥ灝鐣烽柆宥呯厸闁稿本鑹鹃崢鐐烘⒒娴e憡鎯堟い锔诲灦閹囧礃椤旇偐鏌у┑鐘绘涧椤戝棝寮查浣虹瘈濠电姴鍊绘晶娑㈡煃闁垮鐏╃紒杈ㄦ尰閹峰懘鎯傜粙鍨絾濠电偞鎸荤喊宥夋儎椤栫偛钃熸繛鎴欏灪閸嬫劗鈧娲栧ú銈夊煕瀹€鍕€甸悷娆忓缁€鍐磼鐠囪尙澧︾€殿噮鍋婂畷姗€顢欓懖鈺嬬床婵犵數鍋為崹鍫曟嚌妤e啰宓侀柟鎵閳锋垿鎮归崶顏勭毢缂佺姵濞婇弻娑氣偓锝庡墮閺嬫稓鈧鍠楅悡锟犮€侀弴銏狀潊闁斥晛鍟板Σ鎴濃攽閻樻鏆滅紒杈ㄦ礋瀹曟垿骞嬮悙宸殼闂佹悶鍎洪崜娆戝閸忚偐绡€濠电姴鍊归崳鐣屸偓瑙勬礃閻撯€愁潖缂佹ɑ濯撮柛娑橈攻閸庢捇姊洪崫鍕⒈闁告挾鍠栭獮鍡涘礋椤栵絾鏅梺缁樺姍濞佳呯矈閿曗偓閳规垿鍩ラ崱妤冧哗闂佸憡鑹鹃鍛存偩闁垮绶為柟閭﹀幘閸樹粙姊洪悷閭﹀殶闁稿绉剁槐鎾愁潩閼哥數鍘撻悷婊勭矒瀹曟粌鈹戠€e灚鏅悷婊勬閸ㄩ箖寮崼婵堫槰濡炪倖鏌ㄥΣ鍫n樄闁哄本鐩崺鍕礃閿涘嫮绐楅梻浣哥枃椤绮欓幘鑸殿潟闁规崘顕х壕鍏兼叏濡崵妯傞柨娑樺绾惧ジ鏌ら幖浣规锭闁告繃妞介弻锝呪槈閸楃偞鐝濋悗瑙勬礃閿曘垽宕洪敓鐘茬闁绘劦鍓涢妶顐︽⒒娴g瓔鍤欓柛鎴犳櫕缁辩偤宕卞Ο纰辨锤濠电姴锕ら幊鎰版偝缂佹ḿ绠鹃柟瀵稿仧閹冲懐绱掗埦鈧崑鎾绘⒒娴e湱婀介柛銊ㄦ宀h儻顦查柣鈽嗗弮濮婄粯鎷呴崨濠冨枑闂侀潻绲婚崕闈涚暦瑜版帒閱囬柡鍥ㄇ氶崑鎾寸瑹閳ь剙顕i鈧畷濂告偄閾氬倻鐩庨梻鍌欒兌鏋紒缁樺姍閹啴鎮滈挊澶岊唵缂傚倷鐒﹀玻璺ㄧ不妤e啫绾ч柛顐g箓閳锋梻绱掓径妯哄闁宠鍨块、娆撳传閸曘劌浜炬俊銈傚亾闁宠棄顦甸幃鐣岀矙閸ф鏁归梻浣告惈濞层劑宕伴幘璇插偍闂侇剙绉甸埛鎴︽煙缁嬫寧鎹g紒鐘虫尵缁辨帞绱掑Ο鐑樿癁闂佽鍣g粻鏍х暦瑜版帩鏁冩い鎰剁秵閸熷秹姊绘担铏瑰笡闁告梹岣挎禍绋库枎閹寸姳绗夋繝鐢靛У绾板秹鎮″☉妯忓綊鏁愰崼顐g秷閻庤娲栭惌鍌炲蓟閳╁啯濯撮悷娆忓绾炬娊姊烘潪鎵妽闁圭懓娲顐﹀箻缂佹ɑ娅㈤梺璺ㄥ櫐閹凤拷