gpt4 book ai didi

java-8 - 添加 ArrayList 时的 stream() 与 parallelStream()

转载 作者:行者123 更新时间:2023-12-01 11:14:46 24 4
gpt4 key购买 nike

我有这段代码

List<UserNotification> userNotifications = new ArrayList<UserNotification>();

teatreAlertNotifications
.parallelStream()
.forEach(can -> userNotifications.add(new UserNotification(can)));

但由于 ArrayList 是不同步的,我认为这是不好的做法,我应该改用 .stream()

最佳答案

或者只是:

List<UserNotification> userNotifications = teatreAlertNotifications
.parallelStream()
.map(UserNotification::new)
.collect(Collectors.toList());

这称为不需要的副作用,文档中通常不鼓励这样做。

您可以保留原始代码,但使用同步数据结构(线程安全),但在这种情况下无法保证元素的顺序。

关于java-8 - 添加 ArrayList 时的 stream() 与 parallelStream(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53847154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com