`

对List的遍历有三种方式

阅读更多
对List的遍历有三种方式  
   
   List<A>    list    =    new    ArrayList<A>();  
   list.add(new    A());  
   list.add(new    A());  
   ...  
   
   第一种:  
   for(Iterator<A>    it    =    list.iterator();    it.hasNext();    )    {  
       ....  
   }  
   这种方式在循环 执行过程中会进行数据锁定,    性能稍差,    同时,如果你想在寻欢过程中去掉某个元素,只能调用it.remove方法,    不能使用list.remove方法,    否则一定出并发访问的错误.  
   
   第二种:  
   for(A    a    :    list)    {  
       .....  
   }  
   内部调用第一种,    换汤不换药,    这种循环方式还有其他限制,    不建议使用它  
   
   第三种:  
   for(int    i=0;    i<list.size();    i++)    {  
       A    a    =    list.get(i);  
       ...  
   }  
   内部不锁定,    效率最高,    但是当写多线程时要考虑并发操作的问题! 


转载自:

http://hi.baidu.com/chen88358323/blog/item/814d542697090805908f9d24.html
分享到:
评论

相关推荐

    std::List类的遍历获得元素的操作二法

    在C++标准库中,`std::list`是一种双链表容器,它提供了一种高效的方式来存储和操作序列数据。由于`std::list`不是随机访问容器,因此它不支持像数组那样的通过索引直接访问元素(如`[]`运算符)。但是,`std::list`...

    list遍历集合源码

    为了遍历List,Java提供了一种迭代器(Iterator)的方式。ListIterator是Iterator的子接口,专为List设计,除了基本的`hasNext()`和`next()`方法外,还提供了`previous()`,`nextIndex()`和`previousIndex()`等方法,...

    免费下载 CheckBoxList遍历 方法

    在本篇文章中,我们将深入探讨如何在ASP.NET Web Forms中使用CheckBoxList控件,并通过一个具体示例来学习如何遍历CheckBoxList中的项并获取已选中的值。此过程不仅适用于免费下载场景,而且对于任何需要处理用户...

    C++ STL list 遍历删除出错解决方案

    以下是三种常见的错误做法: 1. 错误用法一: 在这个例子中,迭代器`it`在调用`erase()`后未被更新,导致`it`成为了一个无效迭代器,因为`erase()`会使得迭代器失效。代码如下: ```cpp for (TESTLIST::iterator ...

    Freemarker中遍历list集合实例

    5. **遍历map**:如果list中的元素是map,可以用`key`和`value`遍历键值对。 ```freemarker &lt;#list users[0].properties as entry&gt; 属性名: ${entry.key}, 值: ${entry.value} &lt;/#list&gt; ``` 6. **反向遍历**...

    C#遍历List并删除某个元素的方法

    例如,假设我们有一个包含"A B C D E F G H"的List,当遍历到D(索引为3)并将其删除时,原本的F会占据D的位置,导致F被跳过,没有进行判断。 因此,为了避免这种问题,我们可以采用倒序遍历的方式。倒序遍历时,...

    list遍历的五种方法

    这里,我们详细探讨了五种遍历 List 集合的方法,并结合 List 接口概述来理解其核心特性。 1. **普通 for 循环遍历** 这是最基础的遍历方式,适用于所有支持索引访问的数据结构。通过循环变量 i 来跟踪当前元素的...

    java集合遍历的几种方式总结及详细比较

    三、List遍历 List遍历是指对List中的每个元素进行访问和处理的过程。Java中提供了多种List遍历方式,包括使用迭代器遍历、for循环遍历、使用索引遍历等。 1. 使用迭代器遍历 ``` for (Iterator iterator = list....

    Java文件遍历以及树的三种非递归遍历, 前后序编码

    通常,树的遍历有三种基本方式:前序遍历、中序遍历和后序遍历。 1. **前序遍历**(根-左-右):首先访问根节点,然后遍历左子树,最后遍历右子树。 2. **中序遍历**(左-根-右):先遍历左子树,然后访问根节点,...

    c标签遍历集合嵌套的List集合

    #### 2.2 复杂的嵌套List遍历 接下来,我们看看如何遍历嵌套的List集合。题目中给出了一段示例代码,其中包含了创建嵌套集合的过程以及如何在JSP页面中遍历它。 ```java // 创建嵌套List List&lt;ProductProperty&gt; ...

    FreeMarker 遍历list

    3. **遍历Map**:使用`&lt;#list&gt;`指令,我们遍历`dataList`中的每一个Map对象,然后再次使用`&lt;#list&gt;`遍历Map中的每一个键值对。 4. **输出结果**:`${key}`和`${value}`分别代表Map中的键和对应的值,它们会被替换为...

    java遍历list集合3种方式和性能对比

    在Java编程中,遍历List集合是常见的操作,有多种方式可以实现这一功能。下面将详细探讨三种遍历List集合的方法及其性能差异。 1. 使用`Iterator`遍历: ```java List list = new ArrayList(); // 添加元素 for ...

    C# 集合对象遍历性能测试

    本测试着重关注四种常见的集合类型:ArrayList、Dictionary, TValue&gt;、List以及DataSet,它们各自在遍历性能上的差异。遍历性能是衡量代码执行效率的重要指标,尤其在大数据量处理时,高效的遍历方法能显著提升程序...

    Python 列表(List) 的三种遍历方法实例 详解

    本篇文章将详细讲解Python中三种不同的遍历列表的方法,以及如何利用`enumerate()`函数增强遍历功能。 1. **基本遍历(For-in 循环)** 这是最简单直接的遍历方式,直接通过`for`关键字和`in`关键字结合,将列表...

    Struts迭代器(iterator)遍历List常用的4种例子

    遍历方法各有长短,若不是多表联接查询、显示表格的列数已经固定,一般用实体类(UserEntity)迭代的方式。相反,显示的数据表格行和列不确定,此时用实体类(UserEntity)迭代的方式很难实现,只能用List或List...

    Map集合的四种遍历方式 .txt

    一般来说,第三种方法(通过增强型`for`循环遍历`Map.entrySet()`)是最为简洁和高效的,因为它能够直接访问键值对,避免了额外的`get`操作。而在只需要遍历值的情况下,则可以考虑第四种方法。掌握这些遍历技巧对于...

    不用遍历的方式在对象集合list中抽取属性集合转化为map或list

    首先新建一个实体类Person @Data public class Person { /** 编码 */ private String code; /** 名字 */ ...实例化三个对象放入list集合中 public static void main(String[] args) { Person pe

    关于List集合特有的迭代器的反向遍历

    Listiterator迭代器的方向遍历,在反向遍历时 源码中 index中的初值需要在定义的时候传入size集合长度 或者通过正向遍历,将nextIndex的值变为集合的长度 然后public boolean hasPrevious() { return nextIndex &gt; 0...

    java使用ListIterator对List遍历时添加修改删除​

    在Java编程中,`ListIterator`是`List`接口提供的一种特殊的迭代器,它具有双向遍历的能力,不仅可以向前遍历列表,还可以向后遍历。`ListIterator`还提供了在遍历过程中添加、修改和删除元素的功能,使得对列表的...

Global site tag (gtag.js) - Google Analytics