scala中的列表未获得更新
发布时间:2020-12-16 09:51:58 所属栏目:安全 来源:网络整理
导读:我是 Scala Collections的新手,目前我想将给定的字符串列表分成两个列表(List [String],List [String])的元组,其中包含回文字符串列表和其余输入字符串. 例如, 如果输入是List(“racecar”,“abcd”,“lilil”,“effg”) 输出应该是(List(“racecar”,“lili
我是
Scala Collections的新手,目前我想将给定的字符串列表分成两个列表(List [String],List [String])的元组,其中包含回文字符串列表和其余输入字符串.
例如, 我有一个使用过滤器的解决方案.但是,目前,尝试使用foldLeft优化我的解决方案.我的新方法如下: def stringTuples2(strings: List[String]): (List[String],List[String]) = { strings.foldLeft((List[String](),List[String]()))((b,a) => { if (a.equals(a.reverse)) { b._1 :+ a; b } else { b._2 :+ a; b } })} 我不确定,我做错了什么,但这个解决方案的输出是两个空列表的元组,即(List(),List()). 感谢帮助.谢谢! 解决方法
您尝试修改b会创建一个新的List,然后将新的List抛出并返回b,它将保持不变.取出; b部分并返回更新的元组:(b._1:a,b._2)或(b._1,b._2:a)
顺便说一句,这是解决方案的另一种方法. List("racecar","abcd","lilil","effg").partition(s => s == s.reverse) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |