java中foreach循环的注意事项_insping的博客-程序员宅基地

技术标签: Java  foreach  java  Iterator  

简单的ArrayList小例子:

        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        for (Integer integer : list) {
            System.out.println(integer);
        }

PS: Collection接口的类型都没有使用foreach.

主要注意事项:

1.用法就很简单,java5的特性.原理是:迭代器遍历(分析方法:字节码工具javap).ps:遍历链表的时候效率会更高一些.

2.如果list=null时,会抛出java.lang.NullPointerException异常.切记,使用前要new一下.

3.foreach循环只能用于读取,不能改变对应的值.不然会抛出java.util.ConcurrentModificationException异常.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hspingcc/article/details/51878809

智能推荐

博客搬家啦_完美主义的博客-程序员宅基地

心血来潮,让博客换个新家 点我点我顺便求个粉 快来快来

输入四个数字,并输出它们的和。(c语言)_蓝创精英团队的博客-程序员宅基地_c语言输入四个数求和

#define _CRT_SECURE_NO_WARNINGS#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;//输入四个数字,并输出它们的和。void main(void){ const int Length=4; int nums[4],i,result=0; for(i=0;i&amp;lt;Length;i++) { pri...

MySQL优化_yamky_的博客-程序员宅基地

一、MySQL架构介绍1、MySQL逻辑架构简介和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。1.连接层最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcplip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为

百度AI开放平台可用于身份认证_指尖挡不住流年的博客-程序员宅基地

详见链接地址https://ai.baidu.com/ai-doc/FACE/8k37c1rqz#%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81

遇到了一个无法解决的问题,通过添加路径完成静态资源映射_手挽清风的博客-程序员宅基地

目前需要完成一个功能,通过添加一个文件后选择之后得到路径和名字点击添加json文件后成功将数据保存到数据库此时可以通过浏览器访问http://localhost:9002/model/470b9bb03b8e11ebab91bd49b27fb332/+文件名 来访问到E:\共享文件\综合井场布\场布实景下的所有文件,根据我的理解,应该是把这个路径成功的映射成为静态资源,才能这样访问,但是没有明白这个是怎么不用重启就能通过一个路径动态映射静态资源,正常来我用springb

查看python、numpy、tensorflow版本和路径_jzwei023的博客-程序员宅基地_查看numpy路径

1、查看python版本方法一:  python -V  注意:‘-V‘中‘V’为大写字母,只有一个‘-’方法二:  python --version    注意:‘--version'中有两个‘-’2、查看python安装位置方法一:   python -c "import sys; print sys.executable"方法二:  python -c "import os; print os.sys.executable"  python -c ".

随便推点

知识图谱自动构建技术_微知girl的博客-程序员宅基地

最近看到CCKS2020基于本体的金融知识图谱自动化构建技术相关技术方案。先附上部分参考链接:第五名方法总结这块内容比较零散,不做系统介绍。技术细节介绍想要整理一下相关技术方案设计的技术1.多示例学习多示例学习(Multiple Instance Learning)多示例学习 Multi-Instance Learning将训练集划分成多个具有分类标签的多实例包(bag),每个包含有若干个实例(instance)。多示例学习通过对包中实例的学习,训练出一个...

Android Notification通知详解_kazeik的博客-程序员宅基地

根据activity的生命周期,在activity不显示时,会执行onStop函数(比如按下home键),所以你在onStop函数(按退出键除外)里面把notification放在通知栏里,再此显示时,把notification从通知栏里去掉。或者,只要程序在运行就一直显示通知栏图标。下面对Notification类中的一些常量,字段,方法简单介绍一下:常量:DEFAULT_ALL  

超类设计中接口的使用_kejiaming的博客-程序员宅基地

这两天看了设计模式,有点了新理解。     就拿书上的例子来说,若果要你设计一个“鸭子类”,你会怎么设计?     我相信有人会是这样设计:            1)叫的行为            2)飞行的行为(比如野生鸭子就是会飞的)            3)游泳的行为  此时,你正处于中枪中。原因:不是所有的鸭子都会飞,例如玩具鸭子,叫的行为也不只是呱呱,还有

ObservableCollection和List的区别和 ObservableCollection 异步调用问题_kalvin_y_liu的博客-程序员宅基地_observablecollection

ObservableCollection和List的区别总结区别它们,最简单的方法就是看看他们继承的类和接口,还有它们的方法。(学习有技巧,会让你事半功倍,效率提升。)学习ObservableCollection比较简单,继承了Collection, INotifyCollectionChanged, INotifyPropertyChangedspa Collection:为泛型集合提供基类。codeINotifyCollectionChanged:将集合的动态更改通知给侦听器,例如,什么时

堕落的一天_康斯坦的博客-程序员宅基地

今天是周末,本来计划学习下Linux下的调试工具gdb,又堕落过去了哈,现在回头专心学习它。 

LTE信令流程——位置更新_Hxx_111的博客-程序员宅基地_lte位置更新

LTE信令流程位置更新如果UE的位置发生了改变,就需要通过相应的流程通知网络侧进行位置更新,否则网络侧无法获取正确的UE的位置,从而导致寻呼失败。1. 触发条件UE发现当前的跟踪区域码(TAC)不在UE注册网络的TA List中周期性TAU由核心网 T3412定时器控制,当定时器超时之后,UE主动发起TAU流程UE从其他网络回到EPS网络2. TAU作用进入新的TA时,其跟踪区标识(TAI)不在UE存储的TAI List内,TAU可以在网络中登记新的用户位置信息给用户分配新的GUTI

推荐文章

热门文章

相关标签