增强for循环用法___ArrayList数组实现使用下标最好,LinkedList使用增强型的(转载)

总结:

1、For-Each循环的缺点:丢掉了索引信息。

  当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。

增强for循环用法

1.首先增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的,

但是增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。
2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。
3.而对于LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用增强for循环,也就是iterator。
下面的例子可以证明

按 Ctrl+C 复制代码

按 Ctrl+C 复制代码

使用ArrayList运行结果如下

把ArrayList改为LinkedList,我这里内存溢出了,运行结果如下

于是list改成50000,运行结果如下


所以在使用的时候适当选择就好了

时间: 2024-10-07 18:00:08

增强for循环用法___ArrayList数组实现使用下标最好,LinkedList使用增强型的(转载)的相关文章

Java中增强for循环在一维数组和二维数组中的使用

一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l

Java 增强for循环

Java 增强 for 循环 Java5 引入了一种主要用于数组的增强型 for 循环. Java 增强 for 循环语法格式如下: (简单来说就是把数组中的元素依次输出) for(声明语句 : 表达式) { //代码句子 } 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配.其作用域限定在循环语句块,其值与此时数组元素的值相等. 表达式:表达式是要访问的数组名,或者是返回值为数组的方法. 实例: public class Test1 { public static void m

java关于集合的遍历与增强for循环(foreach)的使用

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 许多情况需要我们遍历出集合中的元素,并做相应的处理. 下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法.如果只做简单遍历读取,增强for循环确实减轻不少的代码量. 关于List与Set类型集合的遍历: 1 import

27、增强for循环

增强for循环 使用增强for循环可以简化数组和Collection集合的遍历,格式: for(元素数据类型 变量 : 数组或者Collection集合) { 使用变量即可,该变量就是元素 } 例: package com.sutaoyu.list; import java.util.ArrayList; import java.util.List; public class list_test_11 { public static void main(String[] args) { List

Java-数组:能否用增强for循环实现把键盘输入的数字循环赋给数组中去?

我看到增强型for很方便,试着能不能用增强型for语句把键盘输入的数字赋值到数组的各个元素中去. //使用增强for 循环的将用户输入的数字赋到数组中去package Lianxi;import java.util.*; public class Lianxi46 {public static void main(String[] args) { Scanner input =new Scanner(System.in); int suZu[]=new int[5]; //定义长度为5的数组 f

增强for循环遍历集合或数组

遍历:for循环遍历数组或集合:iterator迭代器遍历集合:还有增强for循环(for each)遍历数组或集合: 遍历数组: 遍历集合: 原文地址:https://www.cnblogs.com/wmqiang/p/10658532.html

Java学习——增强for循环、switch

增强for循环 Java5引入了一种主要用于数组的增强型for循环. 例子 public class ForTest { public static void main(String args[]){ int [] numbers = {1, 3, 5, 7, 2, 4, 6, 8}; for (int x: numbers){ System.out.print(x); System.out.print(","); } System.out.println(); String [] n

Java5新特性之静态导入、可变参数、增强for循环、自动拆装箱

JDK1.5已经发布很长时间,之所以还拿出来是因为它增加了很多个重要的特性,使用这些特性有助于我们简化开发,编写的代码更加简洁清晰安全,主要有以下几个特性: ?  静态导入 ?  可变参数 ?  增强for循环 ?  自动拆装箱 ? 泛型 ? 枚举 由于泛型.枚举内容比较多,也最重要,之后单拿出来讲.这里先介绍前面四个简单而又实用的小特性. 1. 静态导入 所谓"静态导入"只不过是在普通的import语句中加入关键字static,例如: ?  非静态导入:import java.lan

foreach(增强for循环)和for的区别

首先说一下foreach有的也叫增强for循环,foreach其实是for循环的一个特殊简化版. 再说一下foreach的书写格式: for(元素类型  元素名称 : 遍历数组(集合)(或者能进行迭代的)){ 语句 } foreach虽然是for循环的简化版本,但是并不是说foreach就比for更好用,foreach适用于循环次数未知,或者计算循环次数比较麻烦情况下使用效率更高,但是更为复杂的一些循环还是需要用到for循环效率更高. 我们看看下面的例子: 1 public static voi