遍历List的三种方法

List<String> li = new ArrayList<String>();

li.add("1");
li.add("2");
li.add("3");
li.add("4");

//1.for
//优点:效率最高,遍历快,可以根据自定计数器操作元素
//缺点:不适用所有集合,每次都需要在应用程序中手动强转和额外的获得list.size,还有一个缺点就是遍历过程中不允许删除元素
for (int i = 0; i < li.size(); i++) {
System.out.println(li.get(i));
}

//2.迭代器
// 优点:迭代器提供了操作元素的方法 可以在遍历中相应地操作元素
//缺点:运行复杂,性能稍差,效率相对其他两种遍历方式较低
Iterator<String> it = li.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

//3.Foreach
//优点:代码简洁,不易出错。
//缺点:只能做简单的遍历,不能在遍历过程中操作(删除、替换)数据集合。
for (String s : li) {
System.out.println(s);
}

原文地址:https://www.cnblogs.com/lcxdevelop/p/11097478.html

时间: 2024-11-13 09:42:54

遍历List的三种方法的相关文章

遍历Map的三种方法

Map<String,Object> map = new HashMap<>();map.put("1",1);map.put("2",2);map.put("3",3);// 第一种遍历,根据keySet()方法System.out.println("第一种遍历方法:");for(String key : map.keySet()) { Object obj = map.get(key); Syste

C#中遍历ArrayList的三种方法

using System; using System.Collections; using System.Linq; using System.Text; namespace ArrayListDemo { class Program { static void Main(string[] args) { ArrayList arr = new ArrayList(); arr.Add("How"); arr.Add("are"); arr.Add("yo

遍历集合的三种方法

List<String> list = new ArrayList<String>();list.add("aaa");list.add("bbb");list.add("ccc");方法一:超级for循环遍历for(String attribute : list) { System.out.println(attribute);}方法二:对于ArrayList来说速度比较快, 用for循环, 以size为条件遍历:for

遍历二叉树的三种方法

朋友面试遇到一道笔试题:写出递归遍历二叉树的代码(先序.中序.后序遍历都可以)? 首先要知道二叉树是什么,它的数据结构是怎样的? 如何实现这种二叉树?采用匿名内部类的形式实现 class Node{ //节点数据 private T data; //可比较的泛型 //左子树 private Node leftChildTree; //右子树 private Node rightChildTree; public Node(T data){ this.data = data; } } 知道它的数据

HashTable集合遍历的三种方法

hashtable集合遍历可以根据key,value以及key+value 示例代码: Hashtable table = new Hashtable(); Student stu = new Student(); stu.Name = "李四"; stu.Age = 18; Student stu1 = new Student(); stu1.Name = "张三"; stu1.Age = 18; Student stu2 = new Student(); stu

二叉树遍历的三种方法(以中序为例)

二叉树遍历的三种方法 递归 简单 时间O(n) 空间O(n) 非递归+栈 中等 时间O(n) 空间O(n) 非递归.不用栈 中等 时间O(n) 空间O(1) 伪代码实现--近C++代码 方法一:递归 1 Inorder-Tree-Walk(x) 2 if(x != NULL) 3 Inorder-Tree-Walk(x->left) 4 print x->key 5 Inorder-Tree-Walk(x->right) 方法二:非递归+栈 1 Inorder-Tree-Walk(x)

List遍历三种方法:1.for 2.增强性for 3.迭代器

package chapter09; import java.util.ArrayList;import java.util.Iterator;import java.util.List; /* * List遍历三种方法:1.for 2.增强性for 3.迭代器 */public class TestList { public static void main(String[] args) { // 声明一个集合 List list = new ArrayList(); String aStri

java解析xml的三种方法

java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; // public class Saxhandler extends DefaultHandler { @Override public void startDocument() throws

去除DataTable重复数据的三种方法

其中要避免目标库插入重复数据.这重复数据可能是源数据库本身就有重复数据,还有就是已经插入避免重复插入. 过滤自身重复数据解决方案 第一种:采用DataView.ToTable()方法 DataView.ToTable 方法 .NET Framework 2.0 其根据现有 DataView 中的行,创建并返回一个新的 DataTable. 重载列表 名称 说明 DataView.ToTable () 根据现有 DataView 中的行,创建并返回一个新的 DataTable. 由 .NET Co