Collection集合的遍历方式

news/2024/11/17 3:03:11/

Collection集合的遍历方式

Collection集合的遍历方式是全部集合都可以直接使用的

Collection集合的遍历方式有三种:
(1)迭代器。
(2)foreach(增强for循环)。
(3)Lambda表达式(JDK 1.8开始之后)

(1)、Collection集合的遍历–迭代器遍历集合

方法:public Iterator iterator()

方法的作用:获取集合对应的迭代器,用来遍历集合中的元素的

E next():获取下一个元素值!

boolean hasNext():判断是否有下一个元素,有返回true ,反之。

流程
1.获取当前集合的迭代器
Iterator it = lists.iterator();
2.定义一个while循环,问一次取一次。
通过it.hasNext()询问是否有下一个元素,有就通过
it.next()取出下一个元素。

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo01 {public static void main(String[] args) {Collection<String> lists = new ArrayList<>();lists.add("赵敏");lists.add("小昭");lists.add("殷素素");lists.add("周芷若");System.out.println(lists);//[赵敏, 小昭, 殷素素, 周芷若]//1、得到集合的迭代器对象Iterator<String> it = lists.iterator();
//        System.out.println(it.next());//赵敏
//        System.out.println(it.next());//小昭
//        System.out.println(it.next());//殷素素
//        System.out.println(it.next());//周芷若//System.out.println(it.next());//NoSuchElementException//2.使用while循环遍历while (it.hasNext()){String ele = it.next();System.out.println(ele);}}
}

(2)、Collection集合的遍历–foreach

foreach:增强for循环遍历集合。
foreach是一种遍历形式,可以遍历集合或者数组
foreach遍历集合实际上是迭代器遍历的简化写法
foreach格式
for(被遍历集合或者数组中元素的类型 变量名称 : 被遍历集合或者数组){

	  }

缺点:foreach遍历无法知道遍历到了哪个元素了,因为没有索引。

package _01Collection集合的遍历方式;
import java.util.ArrayList;
import java.util.Collection;public class CollectionDemo02 {public static void main(String[] args) {Collection<String> lists = new ArrayList<>();lists.add("赵敏");lists.add("小昭");lists.add("殷素素");lists.add("周芷若");for (String ele:lists) {System.out.println(ele);}int[] ages = new int[]{17, 18, 38, 21};for (int age:ages){System.out.println(age);}}
}

(3)、Collection集合的遍历–Lambda表达式

package _01Collection集合的遍历方式;
import java.util.ArrayList;
import java.util.Collection;public class CollectionDemo02 {public static void main(String[] args) {Collection<String> lists = new ArrayList<>();lists.add("赵敏");lists.add("小昭");lists.add("殷素素");lists.add("周芷若");for (String ele:lists) {System.out.println(ele);}int[] ages = new int[]{17, 18, 38, 21};for (int age:ages){System.out.println(age);}}
}

(3)、Collection集合的遍历–Lambda表达式

import java.util.ArrayList;
import java.util.Collection;public class CollectionDemo03 {public static void main(String[] args) {Collection<String> lists = new ArrayList<>();lists.add("赵敏");lists.add("小昭");lists.add("殷素素");lists.add("周芷若");//跟forEach遍历类似lists.forEach(s -> {System.out.println(s);});//等价于下面的
//        lists.forEach(s -> System.out.println(s));
//        lists.forEach(System.out::println);}
}

http://www.ppmy.cn/news/102138.html

相关文章

Python集合详解:从入门到精通

Python是一种广泛使用的高级编程语言&#xff0c;它的语法清晰&#xff0c;易于学习&#xff0c;而且Python的标准库提供了丰富的工具和数据结构&#xff0c;可以帮助我们更高效地完成各种任务。其中&#xff0c;集合&#xff08;Set&#xff09;是Python中的一种基本数据结构。…

Codeforces Round 875 (Div. 2)(A~D)

文章目录 ABCD B题wa了一发&#xff0c;有点离谱取最大时取错了样例能过。C题读了半天&#xff0c;读懂立马有了思路&#xff0c;写了半天wa了标记没处理对。搞了半天。 A 题意&#xff1a;给你一个长度为n的排列a&#xff0c;现要求你构造一个长度为n的排列b使得 a [ i ] b […

电力电子课设|数控产生PWM波|使用51单片机输出占空比可调PWM波(按钮控制、数码管显示)速成教程

我们学校电气专业开始做电力电子的课设了&#xff0c;小组选了一项制作硬件电路的任务&#xff0c;里面有要求采用数控方式实现DC-DC电压变换的输出电压调节&#xff0c;数控在电路中的体现就是用单片机输出可调占空比的PWM作用于IRF520模块&#xff0c;实现电压的变化&#xf…

ubuntu循环登录,无法进入桌面

现象 在用户登录界面输入用户名和密码后无法正常登录&#xff0c;并且一直循环提示输入登录信息。 问题定位 1. 键入&#xff1a;ctrlaltF1&#xff0c; 进入命令行登录界面 2. 输入当前的用户名和密码&#xff08;也可以是root&#xff0c;操作需谨慎&#xff09; 3.…

泰国这场发布会,UTONMOS元宇宙游戏玩出炫酷新花样

Sensor Tower 最近发布的一项报告显示&#xff0c;全球元宇宙 App 下载量在 2022 年H1 达到 1.7 亿次&#xff0c;其中游戏达到了 1.1 亿次&#xff0c;占比 67.3%。在营收方面&#xff0c;元宇宙 App 在 H1 共获得 6.5 亿美元收入&#xff0c;游戏占 94%&#xff0c;达到 6.4 …

多线程面试题

1. 多线程的创建方式 &#xff08;1&#xff09;、继承Thread类&#xff1a;但Thread本质上也是实现了Runnable接口的一个实例&#xff0c;它代表一个线程的实例&#xff0c;并 且&#xff0c;启动线程的唯一方法就是通过 Thread类的start()实例方法。start()方法是一个 nativ…

免改造数据安全技术,实现企业关键数据资产保护落地

4月26日&#xff0c;腾讯安全联合中国信通院“数据安全推进计划”共同在深圳举办了数据安全研讨会。炼石网络创始人兼CEO白小勇受邀出席&#xff0c;分享了“免改造数据安全的实践与思考”的议题&#xff0c;与中国信息通信研究院云计算与大数据研究所高级业务主管龚诗然、腾讯…

一文说透高性能计算在仿真上的应用

“如果你的仿真还没有受到硬件限制&#xff0c;说明你的仿真还没有入门。” 对于仿真工程师来讲&#xff0c;最痛苦事情莫过于等待求解器计算。实际工程中稍微上规模的案例计算时间短则几小时&#xff0c;长则几天甚至更长。在这个过程中如果出现问题&#xff0c;还要…