我有这段代码
List<UserNotification> userNotifications = new ArrayList<UserNotification>();
teatreAlertNotifications
.parallelStream()
.forEach(can -> userNotifications.add(new UserNotification(can)));
但是由于ArrayList是不同步的,所以我认为这是不好的做法,我应该改用.stream()
答案 0 :(得分:5)
或者只是:
List<UserNotification> userNotifications = teatreAlertNotifications
.parallelStream()
.map(UserNotification::new)
.collect(Collectors.toList());
这称为不必要的副作用,通常在文档中不建议使用。
您可以保留原始代码,但使用同步的数据结构(线程安全),但是在这种情况下,不能保证元素的顺序。