美文网首页
java学习|图说集合(一)list循环背后的故事

java学习|图说集合(一)list循环背后的故事

作者: 我为你转身 | 来源:发表于2019-01-19 16:40 被阅读0次

今天开始我们来聊一聊集合的那些事。

说到集合,

最最最常用的方法估计就是遍历了。

那我们就从遍历来开始深入集合。

准备数据

先新建一个ArrayList,本文中就直接采用了直接add字符串的方式,实际开发中,实体类会复杂的多。

List list = new ArrayList<>();        list.add("a");        list.add("b");        list.add("c");

开始遍历

fori方式遍历

代码如下:

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

使用javap可以看到for翻译成了goto , 其他size,get等方法照旧: javap -v -p 类名

for(T t:list)方式遍历

代码如下:

        for (String s : list) {            System.out.println(s);        }

使用javap可以看到

for(T t :list) 实际上调用的是list的 iterator,通过hasNext 和next 来实现遍历的。也就是和下面代码的效果是一样的:

foreach 方式遍历

代码如下:

list.forEach(x-> System.out.println(x));

只有一行代码就可以了,但实际上,这是一个语法糖,我们点进去forEach可以看到:

再根据我们上面的分析,等同于调用iterator进行遍历。

总结

在java世界中,为了方便开发,jdk给我们提供了很多便利的方法。但追根到底,会有种百川入海的感觉,最终调用的还是那几个基础方法。如上文所述,foreach 实际上调用是的 for(T t :list)。 for(T t :list)实际上调用的是iterator的next。如果我们再跟踪下去会发现,arraylist 实际上就是一个Object[] elementData 我们调用iterator.next 实际上就是用的elementData[i]: 

如果对编程感兴趣,需要java进阶学习材料和BAT面试题,或是想了解更多的编程知识,解决编程

问题,以及入门指导,帮你解决编程中遇到的困惑,我们这里有java高手,C++/C高手,

windows/Linux高手,android/ios高手,群里每天视频直播,可以加我们的学习群哦733842811

相关文章

  • java学习|图说集合(一)list循环背后的故事

    今天开始我们来聊一聊集合的那些事。 说到集合, 最最最常用的方法估计就是遍历了。 那我们就从遍历来开始深入集合。 ...

  • java学习|图说集合(一)list循环背后的故事

    今天开始我们来聊一聊集合的那些事。 说到集合, 最最最常用的方法估计就是遍历了。 那我们就从遍历来开始深入集合。 ...

  • java 对象数组排序

    java对象List集合的排序(基本类型相似); 方法一:使用for循环的方式来进行对象List集合的排序;方法二...

  • list集合遍历方式

    Java中List集合的三种遍历方式:①for循环遍历:指定下标长度,使用List集合的size()方法,进行fo...

  • list循环背后的故事

    今天开始我们来聊一聊集合的那些事。说到集合,最最最常用的方法估计就是遍历了。那我们就从遍历来开始深入集合。 准备数...

  • java——集合、多线程

    集合 java中的集合一般分为List、Map、Set、Queue。 List 列表集合 ArrayList:最常...

  • Java集合学习(一)Collection集合、List集合

    Collection集合概述· 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素。·...

  • Java基础

    Java集合框架 一、Java集合类简介: Java集合大致分为四种体系:Set:无序、不可重复的集合List:有...

  • 数组和集合(二)

    List集合 与 Java类似,List集合的最大特征就是集合元素都有对应的顺序索引 List集合允许使用重复元素...

  • java list转json 和json 转list 笔记

    java list集合转json json 数组转list集合 bean类 完整代码:

网友评论

      本文标题:java学习|图说集合(一)list循环背后的故事

      本文链接:https://www.haomeiwen.com/subject/virzdqtx.html