草庐IT

faster-stateful-stream-processing

全部标签

java - 使用普通 JAVA Stream 收集 int 数组的值

在我的程序中,我尝试使用流打印排序的int数组。但是我在使用普通流时得到错误的输出。使用int流时会打印正确的详细信息。有关详细信息,请参阅下面的核心代码段。packagecom.test.sort.bubblesort;importjava.util.Arrays;importjava.util.stream.Collectors;importjava.util.stream.IntStream;publicclassBubbleSortWithRecursion{publicstaticvoidbubbleSort(int[]arr,intn){if(nnextValue){arr

java - 使用 Stream 从二维整数数组中查找奇数

我正在尝试如下代码int[][]mat=newint[][]{newint[]{2,4,6},newint[]{8,9,12}};intoddInAll=Arrays.stream(mat).filter(i->i%2!=0).findFirst().getAsInt();但这给了我错误|Error:|badoperandtypesforbinaryoperator'%'|firsttype:int[]|secondtype:int|intoddInAll=Arrays.stream(mat).filter(i->i%2!=0).findFirst().getAsInt();|^---

java - 如何使用 Java stream api 过滤 map ?

Mapmap=newHashMap();map.put(1,"f");map.put(2,"I");map.put(3,"a");map.put(4,"c");....etc现在我有一个列表:Listpicks={1,3}我想取回一个字符串列表,即在“选择”列表中找到的与键值匹配的映射值。所以,我希望取回{"f","a"}作为结果。有没有办法使用javastreamapi以优雅的方式做到这一点?当只有一个值时,我是这样做的:map.entrySet().stream().filter(entry->"a".equals(entry.getValue())).map(entry->ent

java - Oracle java 7 安装在 Ubuntu E : Sub-process/usr/bin/dpkg returned an error code (1)

我无法按照此链接中提供的步骤安装oraclejava7:http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.htmlsudoadd-apt-repositoryppa:webupd8team/javasudoapt-getupdatesudoapt-getinstalloracle-java7-installer我得到以下信息:Readingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DoneSuggeste

java - 使用 Stream 比较两个集合 - anyMatch

我想比较list2中的任何对象是否存在于list1中。我可以遍历两个列表并使用.contains()比较所有元素,但我想知道是否有更有效的方法。我找到了this我正在尝试实现建议的方法:Listlist1;Listlist2;booleananyMatch=list1.stream().anyMatch(x->x.equals(list2.stream()));System.out.println(anyMatch);当我这样做时,我经常得到false,即使我期望的是true。怎么会? 最佳答案 根据您的评论,您有两个列表,list

java - Process.getInputStream() 使用哪种编码?

在Java程序中,我通过ProcessBuilder生成了一个新的Process。args[0]=directory.getAbsolutePath()+File.separator+program;ProcessBuilderpb=newProcessBuilder(args);pb.directory(directory);finalProcessprocess=pb.start();然后,我用一个新的线程读取进程标准输出newThread(){publicvoidrun(){BufferedReaderreader=newBufferedReader(newInputStream

java - 遍历列表,修改每个元素 : is there a faster method?

我有一个List的String,我想trim()列表的每个元素。目前,我正在使用ArrayList,对元素进行简单的循环,并将修剪后的元素添加到返回列表中,如下所示:intlistLen=listToTrim.size();ListtrimmedList=newArrayList(listLen);for(inti=0;i对于大型列表,是否有更有效的方法? 最佳答案 不,你很好。这与它的效率差不多。没有什么魔法可以避免迭代。有一点要记住,'不过:如果listToTrim不是随机访问列表(即它不实现RandomAccess),那么使用

Java 8 Stream - 如何返回用要查找的项目列表替换字符串内容

我希望使用java8.stream()替换下面的代码或.foreach()。但是我在这样做时遇到了麻烦。这可能非常简单,但我正在寻找一种实用的思考方式:)我可以迭代,没问题,但由于可变性问题,返回修改后的字符串是个问题。有人有什么想法吗?ListtoRemove=Arrays.asList("1","2","3");Stringtext="Hello123";for(Stringitem:toRemove){text=text.replaceAll(item,EMPTY);}谢谢! 最佳答案 由于您不能使用流来修改text变量,您必

java - Ant 警告 : Implicitly compiled files were not subject to annotation processing

我在运行Ant构建脚本(Ant1.8.2、Java1.6)时收到此警告。[javac]warning:Implicitlycompiledfileswerenotsubjecttoannotationprocessing.[javac]Use-proc:nonetodisableannotationprocessingor-implicittospecifyapolicyforimplicitcompilation.[javac]1warning添加产生:[javac]error:Classnames,'implicit',areonlyacceptedifannotationproc

java - 在 transformerFactory 中设置 FEATURE_SECURE_PROCESSING 是否也会更新其他安全功能?

在jdk1.6中,我在设置的时候transformerFactory.setFeature(XMLConstants.ACCESS_EXTERNAL_DTD,false)我遇到了以下错误:javax.xml.transform.TransformerConfigurationException:Cannotsetthefeature'http://javax.xml.XMLConstants/property/accessExternalDTD'onthisTransformerFactory.atorg.apache.xalan.processor.TransformerFactor