`

list遍历

    博客分类:
  • Java
阅读更多
   List<A>    list    =    new    ArrayList<A>();  
   list.add(new    A());  
   list.add(new    A());  

   
   第一种:  
   for(Iterator<A>    it    =    list.iterator();    it.hasNext();    )    {   
   }  
   这种方式在循环执行过程中会进行数据锁定,迭代
   
   第二种:  
   for(A    a    :    list)    {  
   }  
   内部调用第一种,这样有较好的封装性
   
   第三种:  
   for(int    i=0;    i<list.size();    i++)    {  
       A    a    =    list.get(i);  
   }  
   内部不锁定

第一种方法有迭代器的设计模式思想,面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。
特点:
1) 访问一个容器对象的内容而无需暴露它的内部表示。
2) 支持对容器对象的多种遍历。
3) 为遍历不同的容器结构提供一个统一的接口(多态迭代)。例如,更换所迭代的对象,迭代代码不需要修改。
分享到:
评论

相关推荐

    免费下载 CheckBoxList遍历 方法

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

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

    本篇文章主要探讨的是在使用STL list时遇到的遍历删除元素过程中常见的错误及其解决方案。 错误用法通常出现在尝试同时遍历和删除list中的元素时。以下是三种常见的错误做法: 1. 错误用法一: 在这个例子中,迭代...

    list遍历集合源码

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

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

    但是,`std::list`提供了迭代器接口,我们可以利用迭代器来遍历并访问容器中的每个元素。以下是两种遍历`std::list`并获取其元素的方法。 ### 方法一:迭代器遍历 在C++中,迭代器是访问容器内元素的指针类似对象...

    HashMap和List遍历方法及如何遍历删除元素总结

    HashMap和List遍历方法及如何遍历删除元素总结 HashMap和List都是Java中最常用的数据结构,它们都可以用来存储和操作数据。然而,在遍历和删除元素时,需要小心地处理,以免出现问题。下面总结了HashMap和List的...

    Java8 Stream对两个 List 遍历匹配数据的优化处理操作

    Java8 Stream对两个List遍历匹配数据的优化处理操作 Java8 Stream是一个功能强大的数据处理工具,它可以对数据进行处理、过滤、聚合和转换等操作。在本文中,我们将探讨如何使用Java8 Stream来对两个List进行遍历和...

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

    当我们需要遍历List并根据条件删除特定元素时,需要注意正确的方法,以避免在遍历过程中出现错误。以下将详细介绍如何在C#中遍历List并删除元素,包括正序和倒序遍历的技巧。 首先,我们来看一下错误的遍历方式。...

    计算机后端-Java-Java核心基础-第24章 集合01 18. List遍历及方法总结.avi

    计算机后端-Java-Java核心基础-第24章 集合01 18. List遍历及方法总结.avi

    list遍历的五种方法

    在 Java 编程中,遍历 List 集合是一项常见的任务,特别是在处理数据或执行迭代操作时。这里,我们详细探讨了五种遍历 List 集合的方法,并结合 List 接口概述来理解其核心特性。 1. **普通 for 循环遍历** 这是最...

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

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

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

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

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

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

    解决方案:webwork checkboxlist遍历双重list,并设置选中

    在Web开发中,经常需要处理用户提交的数据,其中包括多选框(checkbox)的值。`webwork`是一个经典的...通过以上步骤,我们能够实现Webwork中对双重列表的checkboxlist的遍历和选中状态设置,有效管理用户输入的数据。

    关于checkboxlist的绑定和遍历checkboxlist

    二、CheckBoxList遍历 1. 遍历选定值: 当用户在CheckBoxList中做出选择后,可以通过遍历Items集合来获取选中的值。可以使用以下代码: ```csharp foreach (ListItem item in checkBoxList.Items) { if (item....

    Freemarker中遍历list集合实例

    本实例将详细介绍如何在Freemarker中遍历list集合,帮助你理解和应用这一核心功能。 在Freemarker中,遍历list集合主要依赖于`&lt;#list&gt;`指令。当你有一个Java对象,例如一个ArrayList或LinkedList,这些对象在...

    layuiAdmin循环遍历展示商品图片列表的方法

    这个函数遍历一个对象或数组,每次遍历都提供当前项(item)和索引(index),在遍历过程中对每个商品对象进行处理。 在LayuiAdmin中,动态生成的HTML结构通常是这样的: ```html &lt;!-- 商品列表项 --&gt; ;" rel...

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

    Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、List遍历等。下面我们将逐一介绍这些遍历方式的实现原理和优缺点。 一、迭代器遍历 迭代器遍历是Java中最基本的集合遍历方式。迭代器是一个对象,它允许...

    FreeMarker 遍历list

    在FreeMarker中,遍历`List&lt;Map&lt;String&gt;&gt;`是常见的操作,尤其在处理从后端传来的复杂数据结构时。这篇博客链接虽然无法直接访问,但从标题来看,我们可以推测其内容可能涉及如何在FreeMarker模板中遍历一个包含Map...

Global site tag (gtag.js) - Google Analytics