Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 从映射中剪切具有空值的对_Kotlin_Option_Arrow Kt - Fatal编程技术网

Kotlin 从映射中剪切具有空值的对

Kotlin 从映射中剪切具有空值的对,kotlin,option,arrow-kt,Kotlin,Option,Arrow Kt,我想过滤掉所有具有空值的对 val mapOfNotEmptyPairs: Map<String, String> = mapOf("key" to Some("value"), "secondKey" to None) 香荚兰 val rawMap = mapOf<String, String?>( "key" to "value", "secondK

我想过滤掉所有具有空值的对

val mapOfNotEmptyPairs: Map<String, String> = mapOf("key" to Some("value"), "secondKey" to None)
香荚兰

val rawMap = mapOf<String, String?>(
    "key" to "value", "secondKey" to null)
 
// Note that this doesn't adjust the type. If needed, use
// a cast (as Map<String,String>) or mapValues{ it.value!! }
val filteredMap = rawMap.filterValues { it != null }

System.out.println(filteredMap)
val rawMap=mapOf(
“键”为“值”,“第二键”为空)
//请注意,这不会调整类型。如果需要,使用
//强制转换(作为映射)或映射值{it.value!!}
val filteredMap=rawMap.filterValues{it!=null}
System.out.println(filteredMap)
p、 s当使用箭头选项时

val rawMap = mapOf<String, Option<String>>(
    mapOf("key" to Some("value"), "secondKey" to None)

val transformedMap = rawMap
   .filterValues { it.isDefined() }
   .mapValues { it.value.orNull()!! } 

val rawMap=mapOf(
mapOf(“键”到某些(“值”),“第二键”到无)
val transformedMap=rawMap
.filterValues{it.isDefined()}
.mapValues{it.value.orNull()!!}
p、 使用箭头选项及其filterMap扩展功能时的提示

val rawMap = mapOf<String, Option<String>>(
    mapOf("key" to Some("value"), "secondKey" to None)

val transformedMap = rawMap
   .filterMap { it.value.orNull() } 

val rawMap=mapOf(
mapOf(“键”到某些(“值”),“第二键”到无)
val transformedMap=rawMap
.filterMap{it.value.orNull()}
val-mapOfNotEmptyPairs=
mapOf(“键”到某些(“值”),“第二键”到无)
.filterValues{it is Some}//或{it!is None}或{it.isDefined()}
.mapValues{({,v)->(v作为一些).t}

本质上我想实现这一点,但KTLLIY问题是在箭头KT LIB中找到一个函数,如Haskell或Scala和露比的ScaleBayes。谢谢您的输入。不幸的是,您已经回答了错误的问题。请考虑在没有空对象的情况下,您可以找到STR的选项。ing.从映射中筛选空值是一个完全不同的问题。此外,我们可以很容易地将Option为None的情况转换为null,然后筛选映射。映射的类型是和否,所以我假设Some/None是Scala的复制/粘贴问题,或者similarMap是我想要的类型结果是e。显然,它没有按照我编写的方式编译。因此,我们可以缩小问题的范围,找到要从转换到的函数。理想情况下,不使用null。对于kotlin映射,arrow提供了fiterMap,它可以过滤掉null值,请参阅编辑
val rawMap = mapOf<String, Option<String>>(
    mapOf("key" to Some("value"), "secondKey" to None)

val transformedMap = rawMap
   .filterMap { it.value.orNull() } 

val mapOfNotEmptyPairs =
        mapOf("key" to Some("value"), "secondKey" to None)
            .filterValues { it is Some<String> } // or { it !is None } or { it.isDefined() }
            .mapValues { (_, v) -> (v as Some<String>).t }