You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java新手咨询IntStream链式流操作及对应代码段的具体作用

代码功能拆解

第一段IntStream链式操作功能

这段的作用是从传入的prices列表里,提取所有偶数下标位置的元素,组装成新的inputCountryCodes列表:

  • 先通过IntStream.range(0, prices.size())生成从0到prices列表长度减1的连续整数下标序列
  • 用filter(index -> index % 2 == 0)过滤出所有偶数下标(注意Java列表下标从0开始,也就是取第1、3、5...个元素,对应下标0、2、4...)
  • mapToObj(prices::get)把过滤出来的下标转换成prices列表对应位置的元素
  • 最后collect(Collectors.toList())把结果收集成新的字符串列表。

举个直观例子:如果传入的prices是["CN","100","US","200","JP","180"],提取完成的inputCountryCodes就是["CN","US","JP"],刚好是所有偶数下标的国家码字段。


第二段集合流操作功能

这段的作用是对上面得到的inputCountryCodes列表做去重,得到没有重复元素的distinctInputCountryCodes列表:

  • 调用stream()把列表转换成流对象
  • 用distinct()方法按照字符串的equals规则去重,保留元素第一次出现的顺序
  • 最后收集为新的列表。

举个直观例子:如果上面得到的inputCountryCodes是["CN","US","CN","JP"],去重后结果为["CN","US","JP"]。


内容的提问来源于stack exchange,提问作者JustDoIt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:27:03