for与foreach区别
首先说一下for循环:
格式:for( ; ; ){};
public static void main(String[] args) {
List<String> arr = new ArrayList<String>();
arr.add("你好");
arr.add("我好");
arr.add("大家好");
for(int i=0;i<arr.size();i++){
System.out.println(arr.get(i)); //要获取list中元素需要用get方法
}
}
接下来看一下foreach循环
foreach也叫增强for循环,foreach的格式为:
for(元素类型 元素 :遍历数组(集合)){
//语句
}
public static void main(String[] args) {
List<String> arr = new ArrayList<String>();
arr.add("你好");
arr.add("我好");
arr.add("大家好");
for(String str : arr){ //这里的str就是为了获取每次循环的arr中的值
System.out.println(str); //就相当于 String str=arr[i]
}
}
总结:
foreach不支持在循环中添加删除操作,因为在使用foreach循环时数组就已经被锁定不能修改,否则会报出java.util.ConcurrentModificationException异常。
foreach适用于只是进行集合或数组遍历,for则在复杂的循环中效果更高。
foreach不能对数组或集合进行修改,如果想要修改就要使用for循环。
所以相比较后for循环更为灵活。
for与foreach区别的更多相关文章
- map与forEach区别
1. forEach()返回的是undefined 不可以链式调用 return没有用 2. map()返回一个新数组 原数组不会改 3. 没办法终止或者跳过forEach()和map循环 除非抛 ...
- 巧记 In/hasOwnProperty/for…in/for…of/forEach区别
写在前面 上面提到的这些东西,反复的记忆,反复的忘记.现分享一种巧记方法,有需要,请参考,希望你也过目不忘. 仅提供巧记思路.仅提供巧记思路.仅提供巧记思路. 1. in 用于判断属性是否在对象上(包 ...
- js forEach for区别
1.循环中断差别 具体见示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta chars ...
- C#与Java区别(一)
最近学了点java,总结了一些和c#的语法区别,欢迎大家指点和补充,如下: 1.java支持跨平台,当然.net core现在也支持. 2.java中用package,c#中用namespace定义空 ...
- Node.js之Promise
2015年发布了ES6标准,所谓 Promise,就是ES6标准的一个对象,用来传递异步操作的消息.它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步 ...
- php核心知识要点
Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的.面向对象的.解释型的.健壮的.安全的.性能非常之高的.独立于架构的.可移植的.动态的脚本语 ...
- js 自己容易搞混的笔记查询
相似的操作 var str2 = "0123456789"; console.log(str2.slice(4,7)); //------------"456" ...
- js-jquery-数组遍历
一.原生方法支持 1.普通for循环 for(j = 0; j < arr.length; j++) { } 说明:性能很高,但是仍可以优化. 2.优化版for循环[推荐] for(j = 0, ...
- Smarty的循环
(1)section.sectionelse功能多,参数多.或许不是太实用.是smarty用来做循环操作的函数之一.(2)了解基本属性name和loop <section name=articl ...
随机推荐
- Redis入门(三)-Redis的安装及操作key的命令介绍
前两节对Redis做了一些详细的介绍,那么接下来开始我们就正式进入Redis的学习阶段. 安装Redis Windows下安装redis非常方便, 下载压缩包解压即可使用. 链接:https://pa ...
- js基础——错误处理
一:错误捕获 1.try-catch 语句(错误捕获) try{ //这里放置可能出现问题的代码 }catch(error){ //错误发生时执行的代码 console.log(error.name) ...
- 【实习第一天】odoo开发基础(一)
管理权限 在项目中,有个security文件夹,其中的ir.model.access文件后面带4个参数.分别代表着读,写,创建,删除的操作 想要开启权限需要将其参数调成为1,反之为0.倘若不调整参数, ...
- Java反射01 : 概念、入门示例、用途及注意事项
1.Java反射定义 本文转载自:https://blog.csdn.net/hanchao5272/article/details/79360452 官方定义如下: Reflection enabl ...
- nginx实现基础web
目录 nginx实现基础web 什么是lnmp lnmp架构如何工作 Nginx与Fast-CGO详细工作流程 LNMP环境准备 一,部署LNMP 1.使用nginx官方源 2.创建nginx用户 3 ...
- TypeScript 学习笔记(四)
函数: 1.函数是一组一起执行一个任务的语句 2.我们可以把一段可复用的代码放到一起组成函数,从而提高效率 3.函数声明(通过关键字 function 来声明)告诉编译器函数的名称.返回类型和参数 4 ...
- python创建文件夹
import os filePath = 'D:\12345' # 判断文件夹是否存在,不存在则创建文件夹if not os.path.exists(filePath): os.makedirs(fi ...
- 远程访问阿里云服务器jupyter
官网链接 一.pip安装jupyter安装Anaconda的话,会自动按照jupyter,就不需要再使用pip安装了 pip3 install jupyter 二.生成jupyter notebook ...
- git 现在本地创建仓库 再 推送到 远程 github 仓库中
今天,需要再本地使用git管理代码,但是当代码创建好的时候,想发布到github上面的私有仓库中,但是没有提前创建远端仓库,所以需要把本地git仓库推送到远端另外一个仓库了,下面进行简要记录,刚刚经过 ...
- Python—创建进程池的方式
创建进程池 from multiprocessing import Pool import time,os result = [] # 存放所有worker函数的返回值 def worker(msg) ...