对象数组的for-each循环

for-each是用于遍历数组的另一种形式的for循环。for-each循环显着减少了代码,并且循环中没有使用索引或计数器。

句法:

For(<数组/列表的数据类型> <临时变量名称>:<要迭代的数组/列表>){

System.out.println();

//使用此temp变量可以执行任何其他操作。

}

String [] arrData = {“ Alpha”,“ Beta”,“ Gamma”,“ Delta”,“ Sigma”};

尽管您可能知道一些方法,例如查找数组的大小,然后使用传统的for循环(计数器,条件和增量)遍历数组的每个元素,但我们需要找到一种更优化的方法,该方法将不使用任何此类计数器。

class UsingForEach {

  public static void main(String[] args) {

    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};

    //The conventional approach of using the for loop

    System.out.println("Using conventional For Loop:");

    for(int i=0; i< arrData.length; i++){

      System.out.println(arrData[i]);

    }

    System.out.println("\nUsing Foreach loop:");

    //The optimized method of using the for loop - also called the foreach loop

    for (String strTemp : arrData){

      System.out.println(strTemp);

    }

  }

}

集合容器

Java 集合框架概述
一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象
的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊
端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。

数组在内存存储方面的特点:

数组初始化以后,长度就确定了。
数组声明的类型,就决定了进行元素初始化时的类型
数组在存储数据方面的弊端:

数组初始化以后,长度就不可变了,不便于扩展
数组中提供的属性和方法少,不便于进行添加、删除、插入等操作, 且效率不高。
同时无法直接获取存储元素的个数
数组存储的数据是有序的、可以重复的。 ---->存储数据的特点单一
Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的
关联数组。

Java 进阶P-3.5+P-3.6的更多相关文章

  1. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  2. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...

  3. Java线程间通信方式剖析——Java进阶(四)

    原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...

  4. Java进阶(三)多线程开发关键技术

    原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...

  5. 当我们说线程安全时,到底在说什么——Java进阶系列(二)

    原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...

  6. Java进阶03 IO基础

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...

  7. Java进阶01 String类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...

  8. 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)

    本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...

  9. Java进阶(七)正确理解Thread Local的原理与适用场景

    原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...

  10. Java进阶(四十七)Socket通信

    Java进阶(四十七)Socket通信   今天讲解一个 Hello Word 级别的 Java Socket 通信的例子.具体通讯过程如下: 先启动Server端,进入一个死循环以便一直监听某端口是 ...

随机推荐

  1. perl文件操作

    Perl 文件操作 Perl 使用一种叫做文件句柄类型的变量来操作文件. 从文件读取或者写入数据需要使用文件句柄. 文件句柄(file handle)是一个I/O连接的名称. Perl提供了三种文件句 ...

  2. 2022春每日一题:Day 41

    题目:I Hate It 一个基础的线段树模板,单点修改+区间查询 代码: #include <cstdio> #include <cstdlib> #include < ...

  3. 2022春每日一题:Day 23

    题目:Piotr's Ants 蚂蚁转头走,其实可以看做他们交换灵魂后接着往前走,同样发现,既然他们的速度相同,那么在数轴上相对位置不会改变(碰面会改变方向),那就好办了. 先把初始状态排序,id都记 ...

  4. 面试 考察js基础不能不会的内容(第五天)

    01.描述事件冒泡的流程 基于 DOM 树结构,事件会顺着触发元素向上冒泡 点击一个div,会一级一级向父级.爷级元素上冒泡,这个点击事件不仅能被这个div捕捉到,也能被他的父级.爷爷级-元素捕捉到 ...

  5. php + layui 文件上传 以及 拖拽上传

    HTML: <div id="box"> <div id="drop_area">将文件拖拽到此区域</div> <d ...

  6. Nginx 安装篇-1.19.9版本源码安装

    系统环境:CentOS 8.5 64位 [开始安装](此步骤引自网络教程) https://www.cnblogs.com/torchstar/p/16027538.html 教程比较详细,一步步操作 ...

  7. 【每日一题】【上右下左模拟&while循环体条件不满足时】54.螺旋矩阵-211110/220204

    给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素. 解答:while循环内部不满足也会继续走到结尾 import java.util.ArrayList; ...

  8. 这玩意也太猛了!朋友们,我在此严正呼吁大家:端好饭碗,谨防 AI!

    你好呀,我是歪歪. 最近几天大火的 ChatGPT 你玩了吗? 如果你不知道它是个什么东西,那么我让它给你来个自我介绍: 说白了,就是一个可以对话的人工智能. 我开始以为就是一个升级版的"小 ...

  9. 基于训练和推理场景下的MindStudio高精度对比

    摘要:MindStudio提供精度比对功能,支持Vector比对能力. 本文分享自华为云社区<[MindStudio训练营第一季]MindStudio 高精度对比随笔>,作者:Tianyi ...

  10. python注释、变量、数据类型详细

    目录 1.python注释 2.PEP8规范 3.变量与常量 1.python中的变量 2.变量名的命名规范 3.常量的基本使用 1.python注释 什么是注释? 注释是对代码的解释说明,写注释是为 ...