集合【7】— 遍历ArrayList集合三种方法「建议收藏」

集合【7】— 遍历ArrayList集合三种方法「建议收藏」遍历ArrayList集合三种方法何为遍历?逐个获取集合中的每个元素1使用下标2使用forEach循环3使用迭代器Iteratorimportjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importorg.junit.Test;/***遍历ArrayList集合元素*…

大家好,又见面了,我是你们的朋友全栈君。

集合相关知识总结:

集合【1】 — 综述与ArrayList

集合【2】 — LinkedList

集合【3】 — ArrayList和LinkedList区别与联系(面试题)

集合【4】— Set

集合【5】— Map集合

集合【6】— HashSet存储机制

集合【7】— 遍历ArrayList集合三种方法

集合【8】— 去掉List集合重复的元素


遍历ArrayList集合三种方法

何为遍历?逐个获取集合中的每个元素

1 使用下标遍历ArrayList集合

2 使用forEach循环遍历ArrayList集合

3 使用迭代器Iterator遍历ArrayList集合

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.junit.Test;

/** *遍历ArrayList集合元素 */
public class TestArrayListIterator { 
   

	private List<String> list = new ArrayList<>();
	{ 
   
		list.add("Tom");
		list.add("Sam");
		list.add("Jim");
		list.add("Carry");
		list.add("Merry");
		list.add("Jerry");
		list.add("Terry");
		list.add("Tony");
		list.add("Tomas");
		list.add("Danis");
	}
	
	/** * 使用下标遍历 * 调用测试方法之前,所有的属性已经妥善初始化了 */
	@Test
	public void testIterator1(){ 
   
		for(int i=0;i<list.size();i++){ 
   
			String name = list.get(i);
			System.out.println("name="+name);
		}
	}
	
	/** * 使用forEach循环遍历,跟遍历数组的方式一致 */
	@Test
	public void testIterator2(){ 
   
		for (String name : list) { 
   
			System.out.print(name+"\t");
		}
	}
	
	/** * 使用迭代器进行遍历 * 1 集合转换为迭代器 * 2 判断迭代器有没有下一个元素 * 3 如果有逐行读取元素next() */
	@Test
	public void testIterator3(){ 
   
		//list.iterator() 获取集合的迭代器,将集合转换成Iterator迭代器
		//it.hasNext() 判断集合有没有下一个元素 true有 false没有 
		for(Iterator<String> it = list.iterator();it.hasNext();){ 
   
			//获取集合的下一个元素
			String name = it.next();
			System.out.println(name);
		}
	}
}

Iterator 迭(叠)代器

“叠”字,自己更容易理解,自己创的。重复操作,就相当于叠,一层一层的,然后上一层对下一层还有联系,即每一次迭代得到的结果会作为下一次迭代的初始值

—迭代:Collection 集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有元素则把元素取出,然后继续再判断下一个元素,如果还有就再取出,直到把集合中的所有元素全部取出为止。这种取出方式专业术语称为迭代。(迭代字面意思: 重复执行一系列过程,而每一次迭代得到的结果会作为下一次迭代的初始值。)

  • Iterator 接口的常用方法如下:

Collection 集合中把这种取元素的方式描述在 Iterator 接口中。

boolean hasNext(); 判断集合中是否有下一个元素可以迭代,如果有,则返回 true。
Object next(); 返回迭代的下一个元素,并把指针向后移动一位。
void remove(); 将迭代器当前返回的元素删除(可选操作)。

对于Iterator而言,因为本身是一个接口,所以要想实例化则必须依靠Collection接口完成,也就是使用Collection接口的Iterator iterator()方法。
Iterator it = list.iterator(); // it 为实例化对象

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163096.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月22日 下午2:00
下一篇 2022年7月22日 下午2:16


相关推荐

  • pycharm中安装第三方库(模块)总是失败,解决方法

    pycharm中安装第三方库(模块)总是失败,解决方法pycharm 中安装第三方库 模块 总是失败 解决方法 最近 我在安装 pycharm 中安装模块总是失败 尝试了许多方法后终于成功了 解决方法如下 首先打开 pycharm 点击 file gt settings gt projectinter gt 在这个界面找到你想要下载的模块 再点击 installpacka 下载这时候如果报错 可以参考链接如果再三尝试都不行 那就在 Options 上打钩 在右侧输入 trusted hostmirrors aliy

    2026年3月27日
    2
  • 再见 Cursor!玩转 Claude Code 的 23 个实用小技巧,效率拉满!!

    再见 Cursor!玩转 Claude Code 的 23 个实用小技巧,效率拉满!!

    2026年3月16日
    2
  • phpstorm激活码永久[最新免费获取]2022.02.11「建议收藏」

    (phpstorm激活码永久)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4K…

    2022年4月1日
    532
  • 推荐5款好用的Java软件,初学者必看「建议收藏」

    推荐5款好用的Java软件,初学者必看「建议收藏」“工欲善其事必先利其器”,想要学好Java,除了要有好的学习资源之外,还要有一套适合自己的Java软件,好的软件能极大提高你的学习和工作效率。那么,学Java用什么软件好呢?下面小千为大家推荐5款好用的Java软件。

    2022年7月7日
    28
  • 虚拟机安装VMware Tools仍旧不能复制粘贴的解决方法–共享文件夹

    虚拟机安装VMware Tools仍旧不能复制粘贴的解决方法–共享文件夹我们有时会遇到一个问题,那就是我们可以从主机往虚拟机里复制文件,但是从虚拟机往主机复制文件就不行,鼠标永远在虚拟机内。博主重装很多次VMwareTools都没有用,这时就可以考虑共享文件夹。设置共享文件夹步骤如下:1.打开虚拟机设置,打开选项2.点击添加(A)3.设置主机路径和名称4.下一步之后文件夹共享改为总是启用(E)5.博主这里是G:\虚拟机共享文…

    2022年5月18日
    482
  • idea2020.2激活码(JetBrains全家桶)

    (idea2020.2激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    269

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号