java之List接口 迭代过程中添加元素

list接口:有下标,存取有序,允许有重复的元素(equals方法),比较是否有重复的元素。

常用接口实现类:ArrayList集合    Linkedlist集合

 1     //有序 可重复  有下标值
 2     List<String> arr=new ArrayList<String>();//此时多态创建对象,仍为集合
 3     arr.add("1");
 4     //向指定的位置上添加元素,原有元素后移
 5     arr.add(0,"2");
 6     arr.add(1,"2");
 7     //获得指定下标上的元素
 8     System.out.println(arr.get(0));
 9     //删除指定位置的元素
10     System.out.println("删除的元素为"+arr.remove(1));
11     //删除指定的元素  返回布尔值
12     System.out.println("删除的元素为"+arr.remove("1"));
13     //替换指定位置上的元素
14     arr.set(1, "hello");
15     //3种遍历方式  迭代器  强for循环   普通for循环
16     for(int i=0;i<arr.size();i++){
17         System.out.println(arr.get(i));
18     }

如何在迭代过程中添加元素:最好别再一个集合迭代中添加删除元素

 1 一种替代方案可以是Collection将新创建的元素添加到单独的元素,然后迭代这些元素:
 2
 3 Collection<String> list = Arrays.asList(new String[]{"Hello", "World!"});
 4 Collection<String> additionalList = new ArrayList<String>();
 5
 6 for (String s : list) {
 7     // Found a need to add a new element to iterate over,
 8     // so add it to another list that will be iterated later:
 9     additionalList.add(s);
10 }
11
12 for (String s : additionalList) {
13     // Iterate over the elements that needs to be iterated over:
14     System.out.println(s);
15 }

原文地址:https://www.cnblogs.com/mlf19920916/p/12109893.html

时间: 2024-11-05 20:38:24

java之List接口 迭代过程中添加元素的相关文章

【Java】List接口的应用,与C++中vector应用比较 (一)

[写作原因] 在解决[LeetCode.113 Path Sum II]时,我分别采用Java和C++,感觉其中差异有整理一下的必要. [动态数组的创建] 在编程中,很多情况下,在预编译过程阶段,数组的长度是不能预先知道的,必须在程序运行时动态的给出,但是问题是,编程语言C/C++.Java要求定义数组时,必须明确给定数组的大小,要不然编译通不过.形如LeetCode113题,求满足要求的二叉树路径,由于二叉树结构多样,遍历路径繁多,事先无法确定路径长度.这时候,我们需要创建一个容量可以根据实际

Java容器Map接口

Map接口容器存放的是key-value对,由于Map是按key索引的,因此 key 是不可重复的,但 value 允许重复. 下面简单介绍一下Map接口的实现,包括HashMap,LinkedHashMap,WeakHashMap,Hashtable,IdentityHashMap和TreeMap.需要注意的是,Map接口并没有继承Collection接口! 1.HashMap HashMap 继承于AbstractMap,实现了Cloneable.java.io.Serializable接口

【总结】Java常用集合接口与集合类

目录 常见集合接口概述 Collection<E> Map<K,V> Collection接口 Map接口 补充内容 ? 常见集合接口概述 Java中包含许多集合接口.其中比较常见的主要是Collection接口和Map接口: 1.1 Collection<E> 由单元素组成的集合.其比较常见的直接子接口是List.Set和Queue接口. ? ? ? ? 表1.1 Collection<e>接口常用方法 编号 方法原型 解释 备注 1 boolean?ad

java之Set接口(单列集合)

Set接口概述 java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,并没有对 Collection 接口进行功能上的扩充,只是比 Collection 接口更加严格了.与 List 接口不同的是, Set 接口中元素无序,并且都会以某种规则保证存入的元素不出现重复.Set 集合有多个子类,这里我们介绍其中的 java.util.HashSet . java.util.LinkedHa

JavaSE入门学习21:Java面向对象之接口(interface)(二)

一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.java源文件代码: public class Test{ public static void main(String[] args){ //实现接口Singer Singer s1 = new Student("Amy"); s1.sing(); s1.sleep(); s1.study

java的List接口的实现类 ArrayList,LinkedList,Vector 的区别

Java的List接口有3个实现类,分别是ArrayList.LinkedList.Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复. 3个具体实现类的区别如下: 1. ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制.移动.代价比较高.因此,它

[Java Web]2\Web开发中的一些架构

1.企业开发架构: 企业平台开发大量采用B/S开发模式,不管采用何种动态Web实现手段,其操作形式都是一样的,其核心操作的大部分都是围绕着数据库进行的.但是如果使用编程语言进行数据库开发,要涉及很多诸如事务.安全等操作问题,所以现在开发往往要通过中间件进行过渡,即,程序运行在中间件上,并通过中间件进行操作系统的操作,而具体一些相关的处理,如事务.安全等完全由中间件来负责,这样程序员只要完成具体的功能开发即可. 2.Java EE架构: Java EE 是在 Java SE 的基础上构建的,.NE

老白的JAVA课程13 接口

之前我们讲到了java4大特征的最后一个抽象的特征,其实在抽象这个特征里面,我们还有一个特征-接口,今天我们就来学一学接口.  用电脑,手机等电子产品来比喻接口,可以更好的理解,比如用符合接口的插头就可以了.  接口具有很好的扩展性,方便.  接口的由来   例子:奥拓奥迪都是汽车,汽车的维护都是可以用调节引擎和更换汽油的方法,那么奥拓和奥迪也都可以:但是有了更多的维护对象以后,比如说大货车,卡车等等,其他的对象不一定需要每一步维护,或者都不需要维护:又比如不同枪支有不同特性的例子.  因此,我

JDK1.8 java.io.Serializable接口详解

java.io.Serializable接口是一个标志性接口,在接口内部没有定义任何属性与方法.只是用于标识此接口的实现类可以被序列化与反序列化.但是它的奥秘并非像它表现的这样简单.现在从以下几个问题入手来考虑. 希望对象的某些属性不参与序列化应该怎么处理? 对象序列化之后,如果类的属性发生了增减那么反序列化时会有什么影响呢? 如果父类没有实现java.io.Serializable接口,子类实现了此接口,那么父类中的属性能被序列化吗? serialVersionUID属性是做什么用的?必须申明