`

java中for循环时对元素的删除和增加

阅读更多

java中for循环时删除和增加

这个问题在网上有很多的解决方法,在这儿总结一下。便于初学者学习。

一、java中for循环时对元素删除

 

		List<String> list = new ArrayList<String>();
		for(int i = 0; i < 10; i++){
			list.add("" + i);
		}

 

		for(int i = list.size() - 1; i >= 0; i--){
			if(list.get(i).compareTo("4") > 0){
				list.remove(list.get(i));
			}
		}

 

		for(Iterator<String> iter = list.iterator(); iter.hasNext();){
			String next = iter.next();
			if(next.compareTo("4") > 0){
				iter.remove();
				//list.remove(next);
			}
		}

 

		for(int i = 0; i < list.size(); i++){
			if(list.get(i).compareTo("4") > 0){
				list.remove(list.get(i));
				i --;
			}
		}

增强for循环是无法在循环的时候删除元素的。原因:https://wenku.baidu.com/view/bcd89befd05abe23482fb4daa58da0116c171fde.html

 

二、java中循环时对元素增加

 

		int size = list.size();//先获取size,在便利
		for(int i =0; i < size; i++){
			if(list.get(i).compareTo("4") > 0){
				System.out.println(i);
				list.add(list.get(i));
			}
		}

 

 

分享到:
评论

相关推荐

    Java中增强for循环的实现原理和坑详解

    Java中增强for循环的实现原理和坑详解 Java中增强for循环是一种强大且方便的迭代功能,自JDK 1.5以来,它已经成为Java开发者必备的技能之一。然而,许多开发者并不了解增强for循环的实现原理和可能存在的坑。下面...

    java基础for循环练习题

    在"java基础for循环练习题"中,我们通常会遇到几种类型的`for`循环,包括基本的`for`循环、增强型`for`循环(也称为foreach循环),以及在数组和集合中的应用。下面我们将深入探讨这些知识点。 1. **基本的for循环*...

    java for循环与增强for循环

    普通for循环的优点是它可以对数组或集合进行任意的操作,例如删除、添加元素等。但是,普通for循环的缺点是代码变得复杂,且不易阅读。 结论 增强for循环是一种非常有用的循环方式,尤其是在遍历集合时。它可以...

    java中for循环删除集合陷阱

    在Java编程语言中,使用for循环来遍历并删除集合元素时,需要注意一个常见的陷阱,即在循环过程中直接修改集合的结构可能导致意外的结果。这个问题主要出现在增强for循环(也称为foreach循环)和常规for循环中,但...

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

    - **单个元素删除**:无论是常规for循环、增强for循环还是Iterator遍历,都可以用来删除列表中的特定单个元素,但需要注意每种方法的潜在问题,如索引错位或并发修改异常。 - **多元素删除**:在需要循环删除多个...

    java集合类arraylist循环中删除特定元素的方法.docx

    ### Java集合类ArrayList循环中删除特定元素的方法 #### 背景与问题 在Java编程中,`ArrayList`是开发者最常使用的集合类之一。它实现了`List`接口,提供了动态数组的功能。在实际开发过程中,经常需要遍历`...

    详解Java中的增强 for 循环 foreach

    "Java 中的增强 for 循环 foreach" Java 中的增强 for 循环 foreach 是一种语法糖,它能够提高性能,并减少代码出错的几率。foreach 循环是用来对数组或者集合进行遍历的语法,具体语法如下:for(元素类型 ele : ...

    java中循环遍历删除List和Set集合中元素的方法(推荐)

    在Java编程中,遍历并删除集合(如List或Set)中的元素是一项常见的操作,但如果不正确地执行,可能会导致`ConcurrentModificationException`异常。这个异常通常在尝试修改正在迭代的集合时出现,因为Java的集合迭代...

    增强for循环

    增强型for循环,也被称为foreach循环,是Java编程语言中的一个强大特性,自Java 5引入以来,极大地简化了对集合、数组等可迭代对象的遍历操作。它提供了一种更加简洁、易读的方式来迭代容器中的元素,而无需显式地...

    Java 实例 - List 循环移动元素源代码+详细指导教程.zip

    在Java中,遍历List并移动元素通常有两种主要方式:迭代器(Iterator)和增强for循环(foreach)。以下是这两种方法的详细说明: 1. 迭代器(Iterator): 迭代器是Java集合框架提供的一种统一的遍历方式,它可以...

    ArrayList在for循环中使用remove方法移除元素方法介绍

    在使用for循环遍历ArrayList时,如果在循环中删除元素,可能会导致元素的索引错乱。例如,在删除第4个元素后,第4、5、6个元素对应的数字变得错误。这种情况是因为ArrayList在删除元素后,其长度会变换,而元素的...

    java新特性之for循环最全的用法总结

    Java中的for循环是编程中最常用的控制流之一,尤其在处理数组和集合时。在Java的更新版本中,引入了一个新的特性,即增强for循环(也称为Foreach循环),以简化迭代过程,提高代码的可读性和简洁性。下面将详细讨论...

    Java数组中的元素删除并实现向前移的代码

    - 使用增强型for循环遍历输入数组`arrays`,如果当前元素不等于要删除的元素,则将其复制到临时数组`tempArr`中,并增加计数器`i`。 - 返回临时数组,即为删除指定元素后的结果。 4. **代码分析**: - `main`...

    java中关于集合的操作

    在Java编程语言中,集合框架是处理对象组的重要工具,它提供了一种高效、灵活的方式来存储和操作数据。本文将深入探讨Java中的集合操作,并结合PPT(虽然这里没有提供具体的PPT内容,但通常这样的资源会包含示例、...

    迭代大师的修炼之道:Java中Iterator与增强for循环的深度解析

    本文将重点探讨两种常用的迭代方式——`Iterator`接口和`Enhanced for loop`(增强型for循环),并从多个角度对比分析它们的特点、应用场景以及使用技巧。 #### 二、Iterator:传统智慧的传承 **1. 概念** `...

    Java 中删除线性表(如数组或列表)中指定区间的元素

    以上就是Java中对线性表(数组和列表)进行区间删除的方法。根据实际需求和性能考虑,你可以选择适合的实现方式。在处理大数据量或者频繁操作时,选择合适的数据结构和算法是非常重要的,这将直接影响程序的运行效率...

    遍历并批量删除容器中元素出现ConcurrentModificationException原因及处置

    在Java编程中,`ConcurrentModificationException`是一个常见的运行时异常,通常发生在多线程环境下对集合进行迭代和修改操作时。此问题的核心在于,Java的集合类(如ArrayList、LinkedList、HashSet等)并不支持...

    java过滤数组中重复元素,完整demo

    在Java编程中,处理数组和集合时,我们经常会遇到需要去除重复元素的情况。在这个主题中,我们将深入探讨如何使用ArrayList来过滤数组中的重复元素,并通过一个完整的Demo来演示这一过程。ArrayList是Java集合框架中...

    Java HashMap 如何正确遍历并删除元素的方法小结

    Java HashMap 是一种常用的数据结构,用于存储键值对儿,但是在遍历和删除元素时,需要注意一些特殊的情况,否则可能会出现异常或错误。本文将介绍 Java HashMap 遍历和删除元素的正确方法。 一、HashMap 遍历方法 ...

    java集合类arraylist循环中删除特定元素的方法

    在Java中,当需要在ArrayList循环中删除特定元素时,应优先考虑使用迭代器。基于索引的删除虽然可行,但容易引发错误,特别是在多线程环境中。迭代器删除则更为安全,且遵循了Java集合框架的设计原则。因此,建议在...

Global site tag (gtag.js) - Google Analytics