草庐IT

filtering_stream

全部标签

java - 使用 Kafka Streams 开发时,Lib 上的 UnsatisfiedLinkError 会影响 DB dll

我正在我的开发Windows机器上编写KafkaStreams应用程序。如果我尝试使用KafkaStreams的leftJoin和branch功能,在执行jar应用程序时会出现以下错误:Exceptioninthread"StreamThread-1"java.lang.UnsatisfiedLinkError:C:\Users\user\AppData\Local\Temp\librocksdbjni325337723194862275.dll:Can'tfinddependentlibrariesatjava.lang.ClassLoader$NativeLibrary.load(

java - Stream 分组后不保留顺序

我有一个列表名称availableSeats我正在按blockIndex属性进行排序和分组,如下所示:availableSeats.stream().sorted(Comparator.comparing(SeatedTicketAssignment::getBlockIndex)).collect(Collectors.groupingBy(SeatedTicketAssignment::getBlockIndex)).forEach((block,blockAssignments)->{//Restofthecode}问题是分组依据的结果没有按照blockIndex排序。

java - Groovy:什么是 java stream anyMatch 的模拟

以下操作的Groovy模拟是什么?list.stream().anyMatch(b->b==0); 最佳答案 您的意思是查找列表是否包含元素0?deflist=[0,1,2,3,4]defresult=list.any{it==0}printlnresult您可以快速在线试用demo 关于java-Groovy:什么是javastreamanyMatch的模拟,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

java - 如何在 java 8 stream api 中使用 guava Predicates 作为过滤器

GuavaPredicates不能开箱即用作为java8流API的过滤器。例如这是不可能的:Numberfirst=numbers.stream().filter(com.google.common.base.Predicates.instanceOf(Double.class))).findFirst().get();如何将guava谓词转换为java8谓词,如下所示:publicstaticPredicatetoJava8(com.google.common.base.PredicateguavaPredicate){return(e->guavaPredicate.apply(e

java - 比 Stream.peek() 更好的方法

“peek”主要用于调试。如果我想在流中间调用流上的方法,改变流对象的状态,该怎么办。Stream.of("Karl","Jill","Jack").map(Test::new).peek(t->t.setLastName("Doe"));我能做到:Stream.of("Karl","Jill","Jack").map(Test::new).map(t->{t.setLastName("Doe");returnt;});但这看起来很丑陋。这是不应该做的事情还是有更好的方法来做到这一点?编辑:forEach可以工作,除了它是一个终端操作,所以你不能在之后继续处理流。然后我希望制作一个Co

Java 流 : use optional filter() operations on chaining

注意:此问题与java.util.Optional不相关。在处理流时,我经常使用这样的逻辑:Streamstream=myInitialStream();if(needsFilter1)stream=stream.filter(c->whatever1());if(needsFilter2)stream=stream.filter(c->whatever2());...returnstream.collect(toList());我想要实现的是使用链接将上面的代码转换为单个表达式。我发现这更具可读性和直接性。到目前为止,我发现实现这一目标的唯一方法是:returnmyInitialSt

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 - 谷歌 Collection ( Guava 图书馆): ImmutableSet/List/Map and Filtering

假设您要构建一个ImmutableSet/List/Map对象的副本,但要过滤掉一些原始条目。一种实现方法如下:ImmutableList.copyOf(Iterables.filter(myObject,myObject.EQUALS));其中myObject.EQUALS是Iterables.filter()操作的谓词。我认为这是一个非常优雅且易于阅读的实现。然而,构建两个列表对象(第一个通过Iterables.filter(...)调用,第二个通过ImmutableList.copyOf(...))是非常低效的.有人知道更有效的方法吗?我想最好的办法是向ImmutableSet/

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