精华内容
下载资源
问答
  • java增强for循环遍历list
    2022-08-05 13:47:24

    Java中for循环遍历List的两种方法

    常用的方法:

    List<Person> people =  ...; 
         for (int 1=0;i<people.size();i++){
             people.get(i).setEat("吃饭"); 
        }
    

    相当于:

    List<Person> people =  ...; 
         for (Person person : people){
            person.setEat("吃饭");
        }
    

    更多相关内容
  • 主要介绍了详解Javalist,set,map的遍历增强for循环的相关资料,需要的朋友可以参考下
  • JAVA循环遍历list有三种方式for循环、增强for循环(也就是常说的foreach循环)、iterator遍历。 1、for循环遍历list for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")) list.remove(i); } ...

    JAVA中循环遍历list有三种方式for循环、增强for循环(也就是常说的foreach循环)、iterator遍历。
    1、for循环遍历list

    for(int i=0;i<list.size();i++){
        if(list.get(i).equals("del"))
            list.remove(i);
    }
    

    这种方式的问题在于,删除某个元素后,list的大小发生了变化,而你的索引也在变化,所以会导致你在遍历的时候漏掉某些元素。比如当你删除第1个元素后,继续根据索引访问第2个元素时,因为删除的关系后面的元素都往前移动了一位,所以实际访问的是第3个元素。因此,这种方式可以用在删除特定的一个元素时使用,但不适合循环删除多个元素时使用。

    2、增强for循环

    for(String x:list){
        if(x.equals("del"))
            list.remove(x);
    }
    

    这种方式的问题在于,删除元素后继续循环会报错误信息ConcurrentModificationException,因为元素在使用的时候发生了并发的修改,导致异常抛出。但是删除完毕马上使用break跳出,则不会触发报错。

    3、iterator遍历

    Iterator<String> it = list.iterator();
    while(it.hasNext()){
        String x = it.next();
        if(x.equals("del")){
            it.remove();
        }
    }
    

    这种方式可以正常的循环及删除。但要注意的是,使用iterator的remove方法,如果用list的remove方法同样会报上面提到的ConcurrentModificationException错误。

    总结:
      (1)循环删除list中特定一个元素的,可以使用三种方式中的任意一种,但在使用中要注意上面分析的各个问题。
      (2)循环删除list中多个元素的,应该使用迭代器iterator方式。

    展开全文
  • 增强for循环的使用(遍历集合和数组)

    增强for循环:简化数组和collection集合的遍历
        .实现iterator接口的类,允许其对象成为增强型for语句的目标
        .它时jdk5之后出现的,其内部原理是一个iterator迭代器
    增强for循环格式
         for(元素数据类型 变量名: 数组或者collection集合){
                   //在此处使用变量即可,该变量就是元素
         }
    范例
          int arr[]={1,2,3,,4,5,6};
         for(int i : arr){
            System.out.println(i);

    package collection集合;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class 增强For循环 {
    	/*
    增强for循环:简化数组和collection集合的遍历
        .实现iterator接口的类,允许其对象成为增强型for语句的目标
        .它时jdk5之后出现的,其内部原理是一个iterator迭代器
    增强for循环格式:
         for(元素数据类型 变量名: 数组或者collection集合){
                   //在此处使用变量即可,该变量就是元素
         }
    范例:
          int arr[]={1,2,3,,4,5,6};
         for(int i : arr){
            System.out.println(i);
         }
    	 * 
    	 */
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		//arr
    		 int arr[]={1,2,3,4,5,6};
    	     for(int i : arr){
    	        System.out.println(i);
    	     }
    	     System.out.println("---------------------------");
    	     
    	     //string
    	     String s [] =  {"hello","world","java"};
    	     for(String i : s){
    		        System.out.println(i);
    		     }
    	     System.out.println("---------------------------");
    	     
    	     //list
    	     List<String> list = new ArrayList<String>();
    	     list.add("hello");
    		 list.add("world");
    		 list.add("java");
    		 for(String i : list){
    		        System.out.println(i);
    		     }
    	}
    
    }
    

     

    展开全文
  • Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 这种风格将要处理的元素...
  • JAVA循环遍历list有三种方式

    千次阅读 2021-02-12 10:19:45
    转自:https://blog.csdn.net/changjizhi1212/article/details/81036509JAVA循环遍历list有三种方式for循环、增强for循环(也就是常说的foreach循环)、iterator遍历。1、for循环遍历listfor(int i=;iif(list.get(i)...

    转自:https://blog.csdn.net/changjizhi1212/article/details/81036509

    JAVA中循环遍历list有三种方式for循环、增强for循环(也就是常说的foreach循环)、iterator遍历。

    1、for循环遍历list

    for(int i=;i

    if(list.get(i).equals("del"))

    list.remove(i);

    }

    这种方式的问题在于,删除某个元素后,list的大小发生了变化,而你的索引也在变化,所以会导致你在遍历的时候漏掉某些元素。比如当你删除第1个元素后,继续根据索引访问第2个元素时,因为删除的关系后面的元素都往前移动了一位,所以实际访问的是第3个元素。因此,这种方式可以用在删除特定的一个元素时使用,但不适合循环删除多个元素时使用。

    2、增强for循环

    for(String x:list){

    if(x.equals("del"))

    list.remove(x);

    }

    这种方式的问题在于,删除元素后继续循环会报错误信息ConcurrentModificationException,因为元素在使用的时候发生了并发的修改,导致异常抛出。但是删除完毕马上使用break跳出,则不会触发报错。

    3、iterator遍历

    Iterator it = list.iterator();

    while(it.hasNext()){

    String x = it.next();

    if(x.equals("del")){

    it.remove();

    }

    }

    这种方式可以正常的循环及删除。但要注意的是,使用iterator的remove方法,如果用list的remove方法同样会报上面提到的ConcurrentModificationException错误。

    总结:

    (1)循环删除list中特定一个元素的,可以使用三种方式中的任意一种,但在使用中要注意上面分析的各个问题。

    (2)循环删除list中多个元素的,应该使用迭代器iterator方式。

    (3) 当使用ArrayList时,我们可以使用iterator实现遍历删除;而当我们使用CopyOnWriteArrayList时,我们直接使用增强型for循环遍历删除即可,此时使用iterator遍历删除反而会出现问题。

    java中循环遍历实体类的属性和数据类型以及属性值

    package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTarg ...

    java中循环的不同终止方式

    1.break:直接强行跳出当前循环,不再执行剩余代码.但在多重循环的情况下,若break在内层循环中,则仅仅终止了内层循环,外循环照常执行. 2.continue:仅仅终止此次循环. 3.retur ...

    Java中创建线程主要有三种方式

    一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. (2)创建Thread子类的实 ...

    Java中循环删除list中元素的方法总结

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后在今天使用的时候发现报错了,然后去科普了一下,发现这是一个误区.下面我们来一起看一下. Java中循环遍 ...

    JAVA中循环删除list中元素的方法总结【转】

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

    JAVA中循环删除list中元素

    文章来源: https://www.cnblogs.com/pcheng/p/5336903.html JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环) ...

    JAVA中循环删除list中元素的方法总结(同上篇)

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

    java中循环删除list中元素的方法

    重点哈 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接 ...

    Java中Map遍历的四种方案

    在Java中如何遍历Map对象 方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map map = new HashM ...

    随机推荐

    ok6410的madplay配置

    二.移植嵌入式播放器 madplay madplay 播放器程序主要依赖于如下库: zlib   zlib-1.1.4.tar.gz 提供数据压缩用的函式库 libid3tag  libid3tag- ...

    C&plus;&plus;重难点知识

    1.顶层const和底层const const int a=10; int b=5; const int *p1=&a; int (*const)p2=&b; p1是顶层const,表 ...

    centos6&period;5vpn搭建

    centos6.5vpn搭建整个搭建流程,服务端,客户端安装及测试. 达到的效果: 在安装vpn客户端的机器可通过vpn(virtual private network)专用线路(vpn主配置文件中定 ...

    getResourceAsStream和getResource的用法

    用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大家最经常用的,就是用JAVA的File类,如要取得 D:/test.txt文件,就会这样用File file ...

    java单例设计模式总结及举例

    * 设计模式:前人总结出来的经验,被后人直接拿来使用. * 单例设计模式:一个类只允许有一个对象,将这个对象作为一个全局的访问点,提供出去供大家使用. * 分析: * 1.用户只能有一个对象 * 2. ...

    Linux基础命令---iptables-save

    iptables-save iptables-save指令可以将内核中当前的iptables配置导出到标准输出.通过IO重定向功能来定向输出到文件. 此命令的适用范围:RedHat.RHEL.Ubun ...

    ECC校验

    ECC的全称是 Error Checking and Correction or Error correction Coding,是一种用于差错检测和修正的算法.NAND闪存在生产和使用中都会产生坏块 ...

    Anaconda本地安装python库

    很多时候我们需要自己手动安装一些库,例如因为网络原因,或者下载源没有这个包. 以Windows环境为例,无论是pip安装还是anaconda安装,最终的包都是安装在,工作目录/Lib/site-pac ...

    渐变(Gradients)

    渐变是一种可以在两个或两个以上颜色之间实现平稳过渡的效果,分为线性渐变(Linear Gradients)和径向渐变(Radial Gradients). 在演示之前,先创建一个div,并添加基础样式 ...

    展开全文
  • import java.util.*; public class ListDemo1 { public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); Student stu1 = new Student("林黛玉", 18); Student...
  • 这是一种方式:private void processWordsInSentence(List sentence) {Iterator it = sentence.iterator();if (it.hasNext()) {String previous = it.next();while(it.hasNext()) {String current ...
  • 下面小编就为大家带来一篇java循环遍历删除List和Set集合中元素的方法(推荐)。小编觉得挺不错的,在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • for循环遍历List的两种方法

    千次阅读 2021-08-21 18:10:07
    Javafor循环遍历List的两种方法 常用的方法: List<Person> people = ...; for (int 1=0;i<people.size();i++){ people.get(i).setEat("吃饭"); } 相当于: List<Person> people = ...; ...
  • Java集合的遍历方式,Iterator,foreach:增强for循环,Exception in thread "main" java.util.NoSuchElementException,Exception in thread "main" java.util.ConcurrentModificationException
  • 三种for循环遍历

    2021-03-07 23:28:32
    import java.util.ArrayList;import java.util.Iterator;...public class For{public static void main(String[]args) {//new一个集合对象List alList=new ArrayList();alList.add(1);//自动转成Integeral...
  • 从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下: package ...
  • 这个函数能够让我们方便的在遍历list的时候同时保存list元素的值和下标。 li = ['aaa', 'bbb', 456, 7] # 直接使用print(enumerate(li))无法直接查看其值,要先转换为list才可以 print(list(enumerate(li))) for ...
  • 下面小编就为大家带来一篇浅谈普通for循环遍历LinkedList弊端。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 一篇文章看懂Java数组和三种集合如何使用迭代
  • 遍历实现1.迭代器遍历2.普通for循环遍历2.增强for遍历 给出了如何选择遍历方式的些许建议
  • java集合遍历
  • Java for循环对集合的遍历

    千次阅读 2021-02-12 15:09:19
    java集合类的使用可以说是...下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法。如果只做简单遍历读取...
  • import java.util.List; public class Add_FOR { public static void main(String[] args) { String[] arr={"hello","你好","你好不好","你很好"}; for (int i=0;i<arr.length;i++){ System.out.println(arr...
  • import java.util....import java.util.List;import static java.lang.Thread.sleep;public class Test3 {public static void main(String[] args) throws Exception {long start = System.currentTimeMillis...
  • for增强for循环和普通for循环的区别普通for循环可以没有遍历的目标,增强for循环。缺点不能在这个增强循环里动态删除集合里面的内容,获取下标等。使用场景增强for循环主要就是为了方便遍历。...
  • For循环遍历List案例

    2022-07-07 16:41:45
    For循环遍历List案例
  • Java从JDK 1.5开始引入foreach循环, 在遍历集合跟数组, 十分的方便, 也叫作增强for; foreach的语法格式如下图所示 其遍历List的代码如下图所示: 输出的结果为 可以从代码看跟输出结果看出来, 使用foreach...
  • 是的首先写一个测试代码:`private void for_Test(){List list =new ArrayList<>();list.add(1);list.add(2);list.add(3);for(int i :list){System.out.println(i);}}`编译成字节码:由于主要是看迭代顺序所以...
  • java 集合List循环遍历的几种方法

    千次阅读 2020-09-22 18:02:12
    import java.util.*; public class ListTest { public static void main(String[] args) { List<String> list =new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); /** * 第一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 177,659
精华内容 71,063
关键字:

java增强for循环遍历list