ArrayList 的最後乙個修飾符的容量為 10,新增第 11 個元素時究竟會發生什麼?

Mondo 科技 更新 2024-01-30

大家好,我是小公尺!最近,我在各種採訪中發現,關於J**A,有乙個問題引起了很多關注,那就是:被子final潤飾arraylist,初始化容量設定為 10,當我們嘗試新增第 11 個元素時究竟會發生什麼?今天我們就一起揭開這個神秘的面試題吧!

在討論這個問題之前,讓我們先看一下 arraylist 和 final 關鍵字的基本概念。

arraylist:ArrayList 是 J**A 集合框架的成員,屬於 List 介面的實現類之一。 它基於動態陣列實現,可根據需要自動擴充套件容量。 當我們新增乙個元素時,如果當前容量不足,ArrayList 會自動擴充套件容量。

最終關鍵詞:在 j**a 中,final 是乙個關鍵字,用於表示一旦賦值就無法修改的不可變屬性。 當 final 修改乙個類時,意味著該類無法繼承;當乙個方法被修改時,這意味著該方法不能被子類覆蓋;當乙個變數被修改時,這意味著該變數是乙個常量。

首先,讓我們建立乙個最終修改的陣列列表,並將初始化容量設定為 10:

此處使用 ArrayList 建構函式,指定初始容量為 10。 由於final修圖,我們不能再了mylist指向其他物件,但這並不意味著arraylist中的元素是不可變的。 讓我們嘗試將 11 個元素新增到這個陣列列表中,看看會發生什麼。

如果我們在新增第 10 個元素之前沒有達到陣列列表的第 11 個容量,一切都會好起來的。 陣列列表通過將原始元素複製到更大的陣列中並在新陣列的末尾新增新元素來自動縮放。 這時,final關鍵字對陣列列表的內容沒有影響,因為我們沒有更改它mylist引用。

如果我們新增第 11 個元素,arraylist 的容量已經達到 10,但我們沒有改變它mylist,則程式仍將成功執行。 因為final關鍵字僅保證引用是不可變的,並且不限制引用指向的物件的內容。

但是,如果我們在新增第 11 個元素後嘗試修改它mylist會遇到問題。 例如:

由於mylist被宣布為final,我們不能再將其指向新的 ArrayList 物件。 這是在 j**a 語言中final對關鍵字的限制。

final修改後的 arraylist 不會影響 arraylist 中元素的可變性,而只是確保引用是不可變的。

如果在新增第 11 個元素之前 arraylist 的容量未滿,則一切正常。

如果容量已滿,但沒有嘗試修改引用,則程式也將正常執行。

在新增第 11 個元素後嘗試修改引用將導致編譯錯誤,因為final關鍵字限制了引用的重新分配。

在實踐中,我們通常不會宣告乙個finalarraylist 並嘗試修改其引用。 這樣的設計會引起混淆,不利於可讀性和可維護性。 如果您需要乙個不可變列表,請考慮使用它collections.unmodifiablelist方法或其他不可變的集合類。

希望通過這篇文章,你會對 j**a 感興趣final修飾陣列列表的問題更清楚了。 在面試中了解這些細節,不僅會展示你對 J**a 語言的深刻理解,還有助於你更好地設計和維護**。 如果您對此問題有更多疑問,請在評論區留言,我們將**!別忘了點讚分享 感謝您的支援!

如果您有任何問題或更多技術分享,請關注我的微信***知道它是什麼,並知道為什麼

相關問題答案

    修改血清的作用

    修飾精華液的精華效果修飾精華液是一種常見的護膚品,主要作用於改善面板的外觀和質地,使其看起來更年輕 更健康 更容光煥發。下面我們將詳細介紹修飾精華液的作用以及如何使用它。.改善膚質。修飾精華液通常含有高濃度的活性成分,可深入面板以改善其質地和彈性。使用後,面板變得更柔軟 更光滑,減少細紋和皺紋的出現...

    陳艷麗的小Fe N4修飾Pt奈米顆粒用於甲醇氧化和氧還原反應

    用單個原子修飾鉑 Pt 提供了一種很有前途的方法來調節其催化活性。基於此,中國石油大學 華東 陳艷麗教授 通訊作者 等據報道,一種創新的輔助活性位點 AAS 策略構建了高負荷 wt.的單個Fe N作為AAS,並進一步與小Pt奈米顆粒雜化,以增強氧還原反應 ORR 和甲醇氧化反應 MOR 的活性。對於...

    用於表觀遺傳修飾的神奇基因刷子

    近年來,表觀遺傳學已成為現代遺傳學發展最快 最熱門的子領域之一。與傳統遺傳學不同,表觀遺傳學是一種獨立於基因序列的遺傳調控機制,即在不涉及基因序列改變的情況下在基因組或染色質水平上調節基因表達的遺傳行為。表觀遺傳學貫穿於個體生長發育的各個階段,也參與到不同疾病的發生和發展中,其重要性和研究價值不亞於...

    HPG蛋白質修飾劑的應用 CAS 24645 80 5 蛋白質交聯

    HPG HomopropargylGlycine 是一種含有炔烴官能團的非天然氨基酸。作為一種生物交聯試劑,HPG可以通過細胞中的蛋白質合成進行機器翻譯蛋氨酸 MET 位點替換,從而被引入新合成的蛋白質中炔烴官能團。以下是HPG作為生物交聯試劑的主要應用 .蛋白質交聯 HPG可用於特異性標記細胞中新...

    李沁的真誠與自然,不加修飾的美更是嫵媚

    在繁忙的娛樂圈中,李琴偶像以清新自然的美貌和真誠的個性贏得了觀眾的喜愛。近日,一張李沁在沙灘上的照片在網路上廣為流傳,她沒有經過任何美貌修飾,只是自然而然地展現出自己的樣子。在這 中,李沁蹲在海邊的沙灘上,目光專注而明亮地看著大勛。她的眼神中充滿了真誠和自然,彷彿在這一刻,時間停止了。她沒有刻意擺出...