JAVA中怎么利用for循环重复调用list.size()

发布时间:2021-08-02 15:50:50 作者:Leah
来源:亿速云 阅读:282

这篇文章给大家介绍JAVA中怎么利用for循环重复调用list.size(),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

代码如下:

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循环里,按朋友的说法,这里应该会调用多次。

接下来我查看了字节码发现,这里确实会调用多次list.size()方法,字节码如下:

JAVA中怎么利用for循环重复调用list.size()

具体字节码指令解析可查看:http://www.blogjava.net/DLevin/archive/2011/09/13/358497.html

接着查看了ArrayList调用size()方法的源码是直接返回一个int 型的 size变量的,而这个size变量是每次新增和删除都会改变这个size的值

JAVA中怎么利用for循环重复调用list.size()

结论:经过网友们热情的探讨与更正,for循环里会多次调用list.size(),list.size()方法会直接返回一个声明在类中的size全局变量,虽然这个size会直接保存在堆中,但每次发生函数调用确实会发生压栈出栈的性能开销。

关于JAVA中怎么利用for循环重复调用list.size()就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 提高Java代码可重用性的三个措施(转)
  2. java中怎么通过反射创建对象并调用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java list.size()

上一篇:LeetCode中如何删除排序数组中的重复项

下一篇:LeetCode中怎么替换后的最长重复字符串

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》