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