草庐IT

Collections2

全部标签

collections - 具有非空值的 Kotlin 映射

假设我有一张map,用于将扑克牌的字母转换为整数valrank=mapOf("J"to11,"Q"to12,"K"to13,"A"to14)在使用map时,即使Map和Pair是不可变的,我似乎总是必须进行空安全检查:valdifference=rank["Q"]!!-rank["K"]!!我猜这是因为泛型类型有Any?父类(superclass)型。为什么在Map和Pair都是不可变的情况下不能在编译时解决这个问题? 最佳答案 还有另一种获取notnullvaluefrommap的方法:funMap.getValue(key:K)

java - 是否有 Java 的 Collections.synchronizedList 的 Kotlin 等价物?或者这在 Kotlin 中是不需要的

在Kotlin中编码,需要一个线程安全列表,如下所述:javaconcurrentArrayListaccessCollections.kt好像没有这个功能。Kotlin的可变列表是否已经是线程安全的?如果没有,我该如何做到这一点?谢谢。 最佳答案 IfItrytousetheJavaListawarningmessagecomesup"Thisclassshouldn'tbeusedinKotlin..."Java列表(和其他集合)是mappedtypes在Kotlin。所以你可以使用Collections.synchronize

collections - 如何在 Kotlin 中无限重复序列?

我想无限重复TSequence中的元素.使用kotlin.collections.asSequence无法做到这一点.例如:valintArray=intArrayOf(1,2,3)valfiniteIntSequence=intArray.asSequence()valmany=10finiteIntSequence.take(many).forEach(::print)//123这不是我想要的。我期待某种kotlin.collections.repeat函数存在,但不存在,所以我自己实现了一个(例如对于这个IntArray):vari=0valinfiniteIntSequence

collections - Java Stream.collect 的 Kotlin 等价物是什么?

如果我想将我的Kotlin集合收集到stdlib中未内置的东西中,我该怎么做? 最佳答案 对于内置操作toList()等未涵盖的场景,您可以使用collect只是折叠的事实。所以给定vallist:List>=listOf("Ann"to19,"John"to23)您可以通过折叠收集到您选择的集合valmap:Map=list.fold(HashMap(),{accumulator,item->accumulator.put(item.first,item.second);accumulator})如果你再定义一个扩展函数funIt

collections - find 和 firstOrNull 有什么区别?

鉴于以下从KotlinKoans中提取的代码:funShop.findAnyCustomerFrom(city:City):Customer?{//Returnacustomerwholivesinthegivencity,ornullifthereisnonereturncustomers.firstOrNull{it.isFrom(city)}}我自己的解决方案使用了customers.find。两者都适用于koan场景。firstOrNull的文档和find看起来很相似。这两个函数有什么区别? 最佳答案 在2014年的这个帖子

list - Kotlin:如何使用列表强制转换:未经检查的强制转换:kotlin.collections.List<Kotlin.Any?> 到 kotlin.colletions.List<Waypoint>

我想写一个函数来返回List中的每一项。那不是第一个或最后一个项目(通过点)。该函数得到一个通用的List作为输入。仅当列表元素的类型为Waypoint时才应返回结果:fungetViaPoints(list:List):List?{list.forEach{if(it!isWaypoint)returnnull}valwaypointList=listas?List?:returnnullreturnwaypointList.filter{waypointList.indexOf(it)!=0&&waypointList.indexOf(it)!=waypointList.lastI

collections - 如何使用 Mongoid 判断 MongoDB 中是否存在集合?

由于Mongoid.master.collection()会返回一个集合,即使该集合不存在,我们也可以使用coll=Mongoid.master.collection('analyticsCachedResult')ifcoll.count==0#[...]end测试它是否是一个空集合。另一种方法是循环遍历Mongoid.master.collections.eachdo|c|returncifc.name=='analyticsCachedResult'endreturnnil但是有没有更简单的方法来检测它是否存在? 最佳答案 不

mongodb - Meteor Collections 中的一对多关系(或 NoSQL Mongo 等价物)

我是Mongo和NoSQL数据库的新手。谁能解释一下在Meteor中进行一对多加入和循环浏览集合的方法。例如,假设我有两个集合,一个帖子和一个评论,其中每个评论都有一个postId,这意味着每个帖子都有零个或多个评论。我对Meteor的这种情况的最佳实践很感兴趣,特别是您可以循环浏览每个帖子并在嵌套的Handlebars调用中发表评论。类似于下面的示例:{{#eachpost}}{{title}}{{content}}{{#eachcomment}}{{comment_text}}by{{author}}{{/each}}{{/each}} 最佳答案

MongoDB 外壳 : how to search for collections which match a name or regex

当我使用显示集合时,它会返回一个很长的所有集合的列表,我如何编写查询来返回与模式匹配的集合。我希望得到类似db.collections({name:/pattern/})但找不到 最佳答案 您可以使用db.getCollectionNames()与Array.filter():db.getCollectionNames().filter(function(collection){return/pattern/.test(collection)}) 关于MongoDB外壳:howtosea

collections - 强制删除 MongoDB 中的集合

我无法删除它每次都告诉我false的集合..我做了一个getCollections()它给了我很多tmp.mr.mapreduce_1299189206_1618_inc(我想删除的那些)我以为它们在断开连接时被删除了,但他们不是(就我而言)。然后当我这样做时:db["tmp.mr.mapreduce_1299188705_5595"].drop()我总是得到false并且它没有被删除。日志并没有真正的帮助:WedMar911:05:51[conn4]CMD:dropcustomers.tmp.mr.mapreduce_1299188705_5595现在我的命名空间已用尽,我无法创建更