更新時間:2020-10-14 17:22:29 來源:動力節點 瀏覽3862次
數組是學習數據結構以及算法的基礎,盡管java數組看起來非常的簡單、基礎,但是卻是經常出現在java面試題中的,所以java數組面試題是需要在面試前好好準備的,下面整理了面試中出現頻率較高的java數組面試題,希望對大家能夠有所幫助。
答:數組其實就是一個存儲數據長度固定的容器,它可以保證多個數據的數據類型要一致。有三種的定義方式:
int[] arr = new int[6];這是定義存儲6個整數的數據容器。
int[] arr = new int[]{1,2,3,4,5};這是定義存儲1-5整數的數組容器。
int[] arr = {1,2,3,4,5};定義了1-5的整數的數組容器,開實際中較為常用的一種方式。
答:下標從0開始;線性表數據結構;一組連續的內存空間來存儲一組具有相同類型的數據。
答:(1)當聲明數組類型變量時,為其分配了32位引用空間,由于未賦值,因此不指向任何對象;
(2)當創建了一個數組對象(也就是new出來的)并將其地址賦值給了變量,其中創建出來的那幾個數組元素相當于引用類型變量,因此各自占用32位的引用空間并按其默認初始化規則被賦值為null;
(3)程序繼續運行,當創建新的對象并將其地址賦值給各數組元素,此時堆內存就會有值了。
答:我們可以通過索引,也就是每一個存儲到數組的元素,都會自動地擁有一個編號,編號是從0開始,這個自動編號稱為數組索引(index),格式是數組名[索引]。數組的長度是固定的,可以通過數組名.length來獲取數組的長度。
答:從數組所有元素中找出最大值,實現的思路是這樣的,首先定義一個變量用于保存數組0索引上的元素。
然后遍歷數組,獲取數組的所有元素后就將元素的保存數組0索引上的值變量進行比較。
如果數組元素的值大于了變量的值,變量記錄住新的值。
數組循環遍歷結束,變量保存的就是數組中最大的值了。
答:數組遍歷就是數組中的每一個元素分別取出來,遍歷可以說是數組操作的基石,常用的遍歷方式就是使用for循環如下圖:
答:將多次刪除操作中集中在一起執行,可以先記錄已經刪除的數據,但是不進行數據遷移,而僅僅是記錄,當發現沒有更多空間存儲時,再執行真正的刪除操作,這樣減少數據搬移次數節省耗時。
這也是跟 JVM 標記清除垃圾回收算法的核心思想相似。標記-整理垃圾回收算法,在垃圾收集時此算法分為“標記”、“清除”兩個階段,先標記出需要回收的對象,再統一清除標記的對象。清除之后會產生大量不連續的內存碎片。在標記完成之后讓所有存活的對象都向一端移動,然后直接清理掉邊界以外的內存。
答:數組先指定容器大小,容器ArrayList可以動態擴容,并且封裝了好多方法,一旦超過存儲容量,擴容時比較耗時,因為涉及內存申請和數據復制搬移到擴容后的數組。如果已知數據大小,且涉及的數據操作比較簡單,可以用數組。比如已知一萬條數據要存入 ArrayList,我們就可以事先指定容器大小。
以上就是這篇文章為朋友們整理的java數組面試題,希望大家可以對照著給出的參考答案好好學習數組的知識。數組是最基礎的一種數據結構,java零基礎的新手小白想要學好java,在學習的初期就要掌握java數組的知識,這樣會為后面的學習打好基礎。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習