首页 > 编程语言 >java8 stream 数据丢失(错乱)的问题

java8 stream 数据丢失(错乱)的问题

时间:2023-05-31 14:58:06浏览次数:55  
标签:toList parallelparrStream stream Collectors collect 错乱 java8

说明原因:使用的java8的parallelparrStream是并行的,但是.collect(Collectors.toList()) 使用了非线程安全的集合。

修改办法:

修改办法1:把parallelparrStream改为普通的stream ;

修改办法2:  Collectors.toList()改为并行集合。

list.parallelparrStream()
                .map(item -> getStatusListWithCache())
                .flatMap(List::stream)
                .collect(Collectors.toList());  

 


标签:toList,parallelparrStream,stream,Collectors,collect,错乱,java8
From: https://www.cnblogs.com/zhangshiwen/p/17446046.html

相关文章

  • java - stream流
    一、创建stream流1、通过集合创建,这里以List为例List<Integer>integerList=newArrayList<>();integerList.add(1);integerList.add(2);integerList.add(3);Stream<Integer>stream1=integerList.stream(); 2、Array......
  • leetcode Kth Largest Element in a Stream——要熟悉heapq使用
    703.KthLargestElementinaStreamEasyDesignaclasstofind thekthlargestelementinastream.Notethatitisthekthlargestelementinthesortedorder,notthekthdistinctelement.Your KthLargest classwillhaveaconstructorwhichacceptsanin......
  • Java8的新特性
    Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样传递)。使用它可以写出更简洁,更灵活的的代码。作为一种观念更紧凑的代码风格,使Java的语言表达能力得到了提升。//Lambda表达式的使用举例@Testpublicvoidtest1(){ Runnab......
  • 终于解决了cplex12.8中文报错乱码的问题
     最终通过把系统语言改成英文解决,报错变成英语,就能看懂了。上面那条以前试过,没成功,把下面那条一起改了,终于成功了,其他软件确实出现了一点问题,但可以忍受,大不了再改回去,找到办法就好。实在是不想重新安装这个软件了。  尝试过其他方法:配置外部OPL,在控制器里看报错失败:我......
  • Java中的Stream基本使用
    一Java中的流库Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用StreamAPI对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用StreamAPI来并行执行操作。简而言之,StreamAPI......
  • Java8 List集合如何移除满足条件的元素
    1.移除List<String>中指定元素for(inti=assSupplementList.size()-1;i>=0;i--){TypgHouseOrderAssessmentSupplementitem=assSupplementList.get(i);if(item.getBzx().contains("新建房屋")){ass......
  • Java-Day-25( 字节输入流 + FileInputStream 和 FileOutputStream + FileReader 和 Fi
    Java-Day-25InputStream(字节输入流)InputStream抽象类是所有类字节输入流的超类InputStream常用的子类FileInputStream:文件输入流BufferedInputStream:缓冲字节输入流ObjectInputStream:对象字节输入流FileInputStream和FileOutputStreamFileInputStream(文......
  • 关于VBA的TextStream StdOut相关程序的学习——源代码(刘永富博士的ExcelVBA编程开发)
    Subtest3()'标准输出-查找相关目录下所有的GIF格式文件。DimTS1AsIWshRuntimeLibrary.TextStreamDimTS2AsIWshRuntimeLibrary.TextStreamSetWShell=NewIWshRuntimeLibrary.WshShellSetWE=WShell.Exec("cmd.exe/k")SetTS1=WE.StdInTS1.......
  • Build for Libjingle 0.5.2 + Mediastreamer2
    Mediastreamersupportin0.5.0[url]http://code.google.com/p/libjingle/issues/detail?id=102[/url]补充上面的patch:libjingleincludedirs"third_party/mediastreamer2/include","third_party/ortp/include",call......
  • java8 stream匹配 anyMatch,allMatch,noneMatch
    anyMatch:判断的条件里,任意一个元素成功,返回trueallMatch:判断条件里的元素,所有的都是,返回truenoneMatch:与allMatch相反,判断条件里的元素,所有的都不是,返回truecount方法,跟List接口中的.size()一样,返回的都是这个集合流的元素的长度,不同的是,流是集合的一个高级工厂,中间操作是工厂里......