草庐IT

flatMaps

全部标签

java - 为什么 Optional 的 or 和 flatMap 方法的供应商类型参数是通配符?

Optional.or方法是在Java9中添加的。这是方法签名publicOptionalor​(Supplier>supplier)为什么Supplier的类型参数是服用?extendsOptional而不仅仅是Optional,自Optional是final类吗?Optional.flatMap也是如此。方法。这是对Java8的更改。在Java8中,它是Function>mapper而它已更改为Function>在Java9中。 最佳答案 我从StuartMarks本人那里找到了背后的原因http://mail.openjdk.

java - RxJava 中的 concatMap 和 flatMap 有什么区别

这两个功能似乎很相似。它们具有相同的签名(接受rx.functions.Func1>func),并且它们的大理石图看起来完全相同。无法在此处粘贴图片,但这是concatMap的一张图片,这是flatMap的一个.对结果Observable的描述似乎有一些细微的差别。,其中一个由concatMap制作包含由连接产生的Observables产生的项目,以及由flatMap产生的项目。包含首先合并生成的Observables并发出合并结果的项目。但是,我完全不清楚这种微妙之处。谁能更好地解释这种差异,最好举一些例子来说明这种差异。 最佳答案

java - 为什么 flatMap() 之后的 filter() 在 Java 流中是 "not completely"懒惰的?

我有以下示例代码:System.out.println("Result:"+Stream.of(1,2,3).filter(i->{System.out.println(i);returntrue;}).findFirst().get());System.out.println("-----------");System.out.println("Result:"+Stream.of(1,2,3).flatMap(i->Stream.of(i-1,i,i+1)).flatMap(i->Stream.of(i-1,i,i+1)).filter(i->{System.out.println

Kotlin flatMap - map

假设我有一个大小为30k的元素列表,我想对列表中的所有可能对执行操作。所以我有:list.asSequence().flatMap{i->list.asSequence().map{j->/*performoperationhere*/}}问题1:有什么可以替代的吗?(例如应用仿函数)。我还注意到这个flatMap-map操作比命令式循环版本慢得多。(也许是因为关闭?)for(iinlist){for(jinlist){}}问题2:有没有办法提高flatMap/map版本的性能? 最佳答案 一些对性能有影响的替代方案:com.goo

java - Optional.flatMap 和 Optional.map 有什么区别?

这两种方法有什么区别:Optional.flatMap()和Optional.map()?一个例子将不胜感激。 最佳答案 如果函数返回您需要的对象,则使用map;如果函数返回Optional,则使用flatMap。例如:publicstaticvoidmain(String[]args){Optionals=Optional.of("input");System.out.println(s.map(Test::getOutput));System.out.println(s.flatMap(Test::getOutputOpt));

java - 将 Java 8 的 Optional 与 Stream::flatMap 一起使用

新的Java8流框架和friend们编写了一些非常简洁的Java代码,但我遇到了一个看似简单但很难简洁地做到的情况。考虑一个Listthings和方法Optionalresolve(Thingthing)。我想将Thing映射到Optional并获取第一个Other。显而易见的解决方案是使用things.stream().flatMap(this::resolve).findFirst(),但flatMap要求您返回一个流,并且Optional没有stream()方法(或者它是Collection或提供将其转换为或查看为Collection的方法)。我能想到的最好的是:things.s

Java 8 Streams FlatMap 方法示例

我一直在检查即将发布的Javaupdate,即:Java8orJDK8.是的,我很不耐烦,有很多新东西,但是,有一些我不明白的东西,一些简单的代码:finalStreamstream=Stream.of(1,2,3,4,5,6,7,8,9,10);stream.flatMap();javadocs是publicStreamflatMap(Function>mapper)Returnsastreamconsistingoftheresultsofreplacingeachelementofthisstreamwiththecontentsofamappedstreamproducedby

Java 8 Streams FlatMap 方法示例

我一直在检查即将发布的Javaupdate,即:Java8orJDK8.是的,我很不耐烦,有很多新东西,但是,有一些我不明白的东西,一些简单的代码:finalStreamstream=Stream.of(1,2,3,4,5,6,7,8,9,10);stream.flatMap();javadocs是publicStreamflatMap(Function>mapper)Returnsastreamconsistingoftheresultsofreplacingeachelementofthisstreamwiththecontentsofamappedstreamproducedby

java - 你什么时候在 RxJava 中使用 map 和 flatMap?

你什么时候在RxJava中使用map和flatMap?例如,我们想将包含JSON的文件映射到包含JSON的字符串--使用map,我们必须以某种方式处理Exception。但是怎么做呢?:Observable.from(jsonFile).map(newFunc1(){@OverridepublicStringcall(Filefile){try{returnnewGson().toJson(newFileReader(file),Object.class);}catch(FileNotFoundExceptione){//SoException.Whattodo?}returnnull

java - 你什么时候在 RxJava 中使用 map 和 flatMap?

你什么时候在RxJava中使用map和flatMap?例如,我们想将包含JSON的文件映射到包含JSON的字符串--使用map,我们必须以某种方式处理Exception。但是怎么做呢?:Observable.from(jsonFile).map(newFunc1(){@OverridepublicStringcall(Filefile){try{returnnewGson().toJson(newFileReader(file),Object.class);}catch(FileNotFoundExceptione){//SoException.Whattodo?}returnnull