首页 > 其他分享 >集合遍历

集合遍历

时间:2024-08-06 11:06:17浏览次数:8  
标签:遍历 Stream stream list Iterator 集合

集合遍历

目录

传统的for循环遍历,基于计数器的:

​ 遍历者自己在集合外部维护一个计数器,然后依次读取每一个位置的元素,当读取到最后一个元素后,停止。主要就是需要按元素的位置来读取元素。这也是最原始的集合遍历方法。

for (int i = 0; i < list.size(); i++) {
    list.get(i);
}

迭代器遍历,Iterator:

​ Iterator本来是OO的一个设计模式,主要目的就是屏蔽不同数据集合的特点,统一遍历集合的接口。Java作为一个OO语言,自然也在Collections中支持了Iterator模式。

写法为:

Iterator iterator = list.iterator();
while (iterator.hasNext()) {
    iterator.next();
}

for each循环遍历:

​ 屏蔽了显式声明的Iterator和计数器。

​ 优点:代码简洁,不易出错。

​ 缺点:只能做简单的遍历,不能在遍历过程中操作(删除、替换)数据集合。

写法为:

for (ElementType element : list) {
}

Stream流处理

创建 Stream:

  • 从集合创建:List<String> list = Arrays.asList("a", "b", "c"); Stream<String> stream = list.stream();
  • 从数组创建:int[] numbers = {1, 2, 3, 4}; IntStream stream = Arrays.stream(numbers);
  • 从值创建:Stream.of("a", "b", "c")

使用示例:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
long sum = numbers.stream()  // 创建流
                   .filter(n -> n % 2 == 0)  // 过滤出偶数
                   .mapToInt(Integer::intValue)  // 转换为int流
                   .sum();  // 求和

标签:遍历,Stream,stream,list,Iterator,集合
From: https://www.cnblogs.com/luoyiwen123/p/18344764

相关文章

  • 集合工具类
    集合工具类目录集合工具类java.until.Collections类java.util.Arrays类java.util.Properties类java.until.Collections类概念java.util.Collections是集合工具类,用来对集合进行操作常用方法staticvoidshuffle(List<?>list)//打乱集合中元素顺序sort(List<T>list)......
  • 集合泛型
    集合泛型在Java中,泛型(Generics)是一种强大的特性,它允许程序员在编译时进行类型安全检查。当泛型应用于集合时,可以确保集合中只能存储指定类型的元素,从而避免了类型转换的错误和运行时异常。泛型的基本使用泛型在使用时通常遵循以下格式:GenericClass<Type>object=newGeneri......
  • 集合工具类
    集合工具类集合工具类在Java中主要指的是java.util.Collections和java.util.Arrays,以及java.util.stream.Collectors(Java8及以上版本)。以下是对这些工具类的简要说明:1.java.util.CollectionsCollections类提供了一系列静态方法来操作或返回集合对象,包括:排序:sort(),sort(......
  • 集合框架类结构图
    集合框架类结构图集合接口(Collection)Collection:是所有集合的根接口,提供操作集合的基本方法,如add、remove、contains、size、isEmpty等。子接口List:一个有序的集合,可以包含重复的元素。ArrayList:基于动态数组实现,支持快速随机访问。LinkedList:基于链表实现,适合进行频......
  • 集合遍历
    集合遍历集合遍历是指访问集合中的每个元素,并对它们进行迭代处理的过程。Java集合框架提供了几种遍历集合的方法。以下是一些常见的遍历技术:使用for循环对于数组或List,可以使用传统的for循环进行遍历:List<String>list=Arrays.asList("Apple","Banana","Cherry");f......
  • 集合
    我们来简单解读下上面这个框架图:所有集合类都位于java.util包下Iterator是遍历集合的工具,我们经常通过Iterator迭代器来遍历集合。我们说Collection依赖于Iterator,是因为Collection的实现类都要实现iterator()函数,返回一个Iterator对象。ListIterator主要作用就是遍历List。Ja......
  • 【日常开发】一个list集合 根据a字段 b字段进行分组 并计算c字段的和 并封装这种格式:
    ......
  • leetcode200. 岛屿数量C++题解,精美图例和流程图,一题带你弄懂图的dfs遍历算法
    leetcode200.岛屿数量给你一个由‘1’(陆地)和‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例1:输入:grid=[[“1”,“1”,“1”,......
  • 深度优先遍历图--DFS
    一.前言    图的遍历定义:从已经给出的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,使每个顶点仅被访问一次,就叫做图的遍历,它是图的基本运算。    图的遍历实质:找每个顶点的邻接点的过程。在找顶点邻接点的过程中,可能会出现重复访问某个邻接点的情况,......
  • 47 集合操作与运算
    1增加与删除集合元素集合对象的add()方法可以增加新元素,如果该元素已存在则忽略该操作,不会抛出异常;update()方法合并另外一个集合中的元素到当前集合中,并自动去除重复元素。s={1,2,3}print(s)s.add(3)#增加元素,重复元素自动忽略s.update({3,4,5})#更新......