list底層實(shí)現(xiàn)原理 面一個(gè)5年java,不知數(shù)據(jù)結(jié)構(gòu),卻大談分布式,這樣的能要嗎?
面一個(gè)5年java,不知數(shù)據(jù)結(jié)構(gòu),卻大談分布式,這樣的能要嗎?我猜您向人們?cè)儐?wèn)了各種JDK數(shù)據(jù)結(jié)構(gòu)的基本實(shí)現(xiàn)原則。事實(shí)上,我一直在想。知道基本的實(shí)現(xiàn)原則是可以的,也是值得的,但是如果你不知道呢?人們知
面一個(gè)5年java,不知數(shù)據(jù)結(jié)構(gòu),卻大談分布式,這樣的能要嗎?
我猜您向人們?cè)儐?wèn)了各種JDK數(shù)據(jù)結(jié)構(gòu)的基本實(shí)現(xiàn)原則。事實(shí)上,我一直在想。知道基本的實(shí)現(xiàn)原則是可以的,也是值得的,但是如果你不知道呢?人們知道哪些數(shù)據(jù)結(jié)構(gòu)適用于哪些場(chǎng)景,并且能夠熟練地使用它們。那不是。。。夠了嗎?對(duì)貴公司的需求不足嗎?你希望他為你的公司創(chuàng)建一個(gè)新的數(shù)據(jù)結(jié)構(gòu)嗎?就像two peas或JDK一樣,JDK的數(shù)據(jù)結(jié)構(gòu)性能遇到了瓶頸,求職者會(huì)給你提供比工作提供的數(shù)據(jù)結(jié)構(gòu)更好的數(shù)據(jù)結(jié)構(gòu)。
好奇JAVA開(kāi)發(fā)LinkedList插入數(shù)據(jù)真的比ArrayList快嗎?
沒(méi)什么好好奇的。數(shù)據(jù)結(jié)構(gòu)決定了數(shù)據(jù)的質(zhì)量。
將數(shù)據(jù)插入鏈表就是將節(jié)點(diǎn)添加到尾部。算法的時(shí)間復(fù)雜度為O(1),相當(dāng)于插入數(shù)據(jù)的時(shí)間開(kāi)銷(xiāo)是一個(gè)常數(shù)。
ArrayList是基于array的實(shí)現(xiàn)。插入數(shù)據(jù)時(shí),取決于陣列的容量是否足夠。如果容量足夠,則類(lèi)似于鏈表插入的性能。但是,如果還不夠,就需要對(duì)其進(jìn)行擴(kuò)展,這相當(dāng)于創(chuàng)建一個(gè)新數(shù)組并復(fù)制原始數(shù)據(jù)。因此,在使用ArrayList時(shí),如果指定了適當(dāng)?shù)娜萘浚捅仨殧U(kuò)展容量,在使用中,不能擴(kuò)展或減少擴(kuò)展次數(shù),可以提高程序的性能。