当前位置: 首页 > news >正文

有做公司网站潍坊关键词优化软件

有做公司网站,潍坊关键词优化软件,网站开发语言对比,泉州做网站企业1.Iterator接口 1.1 Iterator接口和其他集合类的关系 Java集合类中,Iterable接口属于顶层接口,除Map接口外,其他都实现了Iterable接口,这意味着它们都可以重写和使用Iterable接口中的方法 1.2 Iterable接口简介 在JDK1.7以前&a…

1.Iterator接口

1.1 Iterator接口和其他集合类的关系

在这里插入图片描述
Java集合类中,Iterable接口属于顶层接口,除Map接口外,其他都实现了Iterable接口,这意味着它们都可以重写使用Iterable接口中的方法

1.2 Iterable接口简介

JDK1.7以前,Iterable接口内部只定义了iterator()方法。然而在JDK1.8及以后,又新增了forEach()和spliterator()方法

1.2.1 iterator()

作用:iterator()方法用于返回一个Iterator对象,该对象是一个接口,用于遍历Iterable集合中的元素。Iterator中的方法是实现Iterable遍历功能的核心方法

(1)boolean hasNext():判断集合中是否有还有下一个元素
(2)E next():返回集合中的下一个元素
在这里插入图片描述
list.iterator()表示返回一个Iterator对象指向list,以下可以看作是遍历过程
在这里插入图片描述

(3)default void remove():移除集合中上一次调用next()返回的元素
remove()方法可以在遍历过程中调用,这表示遍历和修改元素的操作可以同步进行
在这里插入图片描述

在JDK1.8及以后,Iterator中又新添了default void forEachRemaining(Consumer<? super E> action)方法。该方法会按顺序对迭代器中的剩余的每个元素进行特定的操作
在这里插入图片描述

public static void main(String[] args) {List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);Iterator<Integer> iterator = list.iterator();//重写Consumer对象中的accept方法,该方法内部可以对遍历的元素进行执行的操作//lambda表达式iterator.forEachRemaining(integer -> {integer += 1;System.out.println(integer);});
}

1.2.2 forEach()&foreach()

(1)Iterable接口中的forEach()方法实际上和上述forEachRemaining差不多,该方法会按顺序对遍历的每个元素进行特定的操作
在这里插入图片描述
我这里forEach方法只是对遍历的元素进行打印,如果想和上述forEachRemaining一样,先+1再打印,也是可以做到的
在这里插入图片描述

(2)foreach又叫做增强型for循环,是一种语法糖,就是一种语法形式(规定吧)。它在内部实际上使用了Iterator来实现遍历,调用iterator()方法来获取迭代器,然后使用hasNext()和next()来遍历集合
在这里插入图片描述
foreach和迭代器的区别?
答:迭代器可以在遍历过程中使用remove()方法来删除元素,并且该删除操作是可以映射到集合本身的;但是foreach方法不行

1.2.3 spliterator()方法

作用:用于返回Spliterator对象,该对象是一个接口,用于遍历Iterable集合中的元素。和Iterator对象最大的区别是,使用Spliterator对象中的方法来遍历集合支持并行处理,这在多线程环境下性能高于使用Iterator来遍历(但是Spliterator不能保证线程安全性)

(1)boolean tryAdvance(Consumer<? super T>
action):处理当前元素,并移动到下一个元素(类似Iterator中的next方法) (2)Spliterator
trySplit():将当前需要遍历的集合拆分为两个部分,返回一个新的Spliterator对象用于处理前半部分,剩下一般由原Spliterator处理

以ArrayList为例:

public class ArrayListParallelSpliteratorExample {public static void main(String[] args) {// 创建一个包含整数的 ArrayListList<Integer> numbers = new ArrayList<>();for (int i = 1; i <= 20; i++) {numbers.add(i);}// 获取 ArrayList 的 spliteratorOneSpliterator<Integer> spliteratorOne = numbers.spliterator();// 使用 trySplit() 方法拆分 spliteratorTwoSpliterator<Integer> spliteratorTwo = spliteratorOne.trySplit();// 定义一个处理元素的 Consumerjava.util.function.Consumer<Integer> action = (Integer number) ->System.out.println("当前线程: " + Thread.currentThread().getName() + " 处理数字: " + number);// 使用第一个 Spliterator 进行遍历/*System.out.println("使用第一个 Spliterator 进行遍历:");spliteratorOne.forEachRemaining(action);// 使用拆分后的 Spliterator 进行遍历System.out.println("\n使用拆分后的 Spliterator 进行遍历:");if (spliteratorTwo != null) {spliteratorTwo.forEachRemaining(action);}*///ThreadPoolExecutor executor = new ThreadPoolExecutor(2,2,0,TimeUnit.MINUTES,new ArrayBlockingQueue<>(1),Executors.defaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy());for (int i = 0; i < 2; i++) {executor.execute(() -> {spliteratorOne.forEachRemaining(action);spliteratorTwo.forEachRemaining(action);});}}
}

运行结果:
在这里插入图片描述

http://www.dtcms.com/a/585689.html

相关文章:

  • Linux 管道(pipe/FIFO)全指南:概念、语义、原子性、阻塞规则、实战代码与最佳实践
  • Servlet的基本使用和作用
  • openEuler上安装高版本的docker
  • 【办公类-123-02】20251108AI照片合成《证件照蝴蝶结》
  • PostgreSQL SELECT 语句详解
  • 16_FastMCP 2.x 中文文档之FastMCP服务端高级功能:代理服务器详解
  • 住房住房和城乡建设部网站首页网络营销的特点与优势
  • 免费公司网站模板站长工具seo查询5g5g
  • AI黑客来袭:Strix如何用大模型重新定义渗透测试游戏规则
  • 系统规划与管理师学习--论文case
  • linux部署confluence7.19.7
  • 工业视觉中的白平衡,为何是色彩准确性的基石
  • Delphi跨平台开发中为Linux开发的优劣分析
  • 凡科网站源码下载做零售外贸网站有哪些
  • KVStore 多行文章型键值扩展解析:切片存储与客户端多行交互
  • 【PLM实施专家宝典】离散制造企业MBD与无纸化制造实施方案:从“图纸驱动”到“数据驱动”的革命
  • 手机网站关键词排名查询wordpress响应式播放器
  • 在Linux系统中图形化显示GPU显存利用率的软件
  • 大数据成矿预测系列(八) | 从定性到概率:逻辑回归——地质统计学派的“集大成者”
  • 微网站搭建教程网站如何建设移动端
  • JS前端性能优化实战指南:从首屏加载到运行时流畅,构建高性能应用
  • stringRedisTemplate.opsForHash().entries
  • 深圳做自适应网站网站开发案例教程
  • 做网站需要注册公司吗360网站安全在线检测
  • node_exporter安装
  • 解读USCAR-2-7-2020
  • 日志消息的输出及落地
  • 基于SpringBoot的流浪动物救助管理系统【协同过滤推荐算法+可视化统计】
  • Redis的主从复制哨兵机制详解
  • 拟采用建站技术长沙最新死亡事件