Java stream中map和forEach有什么区别

Java stream中map和forEach有什么区别,第1张

我给你贴段代码你一看就知道了:

关于stream中map的用法:

Map

data=new

HashMap<>()

data.put(1,

10)

data.put(2,

20)

data.put(3,

30)

List

list

=

data.entrySet().stream().map(Entry::getValue).collect(Collectors.toList())

System.out.println(list)

结果:[10,

20,

30]

这其中map就是把entry的value值映射出来,最后再用Collectors转成list

关于stream.forEach的用法

map.forEach((k,v)->{

System.out.println(v)

})

纯粹就是用流来实现遍历的语法糖

Stream(流)是一个来自数据源元素队列并支持聚合 *** 作

<strong元素队列<strong="">元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。

数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。

聚合 *** 作 类似SQL语句一样的 *** 作, 比如filter, map, reduce, find, match, sorted等。

可以试试这个输出什么:

String[] strarr = {"abc", "defg", "vwxyz"}

int iSum = Arrays.stream(strarr)

.mapToInt(s ->s.length())

.sum()

System.out.println("长度和: "+iSum)

扩展资料:

Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。

参考资料来源:百度百科-Java

你好,很高兴回答你的问题。

stream()可以调用filter方法,可以用来过滤只保留符合条件的数据,相当于是循环到不符合条件的数据时continue。

如果有帮助到你请点击采纳。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9918912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存