溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JAVA中怎么利用for循環(huán)重復(fù)調(diào)用list.size()

發(fā)布時間:2021-08-02 15:50:50 來源:億速云 閱讀:289 作者:Leah 欄目:大數(shù)據(jù)

這篇文章給大家介紹JAVA中怎么利用for循環(huán)重復(fù)調(diào)用list.size(),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

代碼如下:

public class Test2 {
    public static void main(String[] args) {

        List list = new ArrayList<String>();

        list.add("1");
        list.add("2");

        for (int i = 0; i < list.size(); i++) {
            System.out.println(i);
        }
    }
}

這里將list.size()放在了for循環(huán)里,按朋友的說法,這里應(yīng)該會調(diào)用多次。

接下來我查看了字節(jié)碼發(fā)現(xiàn),這里確實會調(diào)用多次list.size()方法,字節(jié)碼如下:

JAVA中怎么利用for循環(huán)重復(fù)調(diào)用list.size()

具體字節(jié)碼指令解析可查看:http://www.blogjava.net/DLevin/archive/2011/09/13/358497.html

接著查看了ArrayList調(diào)用size()方法的源碼是直接返回一個int 型的 size變量的,而這個size變量是每次新增和刪除都會改變這個size的值

JAVA中怎么利用for循環(huán)重復(fù)調(diào)用list.size()

結(jié)論:經(jīng)過網(wǎng)友們熱情的探討與更正,for循環(huán)里會多次調(diào)用list.size(),list.size()方法會直接返回一個聲明在類中的size全局變量,雖然這個size會直接保存在堆中,但每次發(fā)生函數(shù)調(diào)用確實會發(fā)生壓棧出棧的性能開銷。

關(guān)于JAVA中怎么利用for循環(huán)重復(fù)調(diào)用list.size()就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI