【发布时间】:2010-11-15 15:10:12
【问题描述】:
(这是this Q&A的变体)
说我有这个:
List( "foo", "bar", "spam" )
我想创建一个 Map,其键是字符串的长度,值是具有该长度的所有字符串的集合。换句话说,给定 about 列表,我们会得到:
Map( 3 -> List(foo, bar), 4 -> List(spam) )
我为此编写的代码是:
list.foldLeft(Map[Long, List[String]]()) {
(m, s) => m(s.length) = s ::
( if ( m.contains(s.length) ) m(s.length)
else Nil )
}
这可行,但它给 Daniel Spiewak 为原始问题提供的优雅答案增加了很多丑陋(参考上文)。
任何想法如何改进我的变体的解决方案?
谢谢! 肖恩
【问题讨论】:
标签: list scala map scala-collections