scala 统计计算

scala> List(1, 2, 3, 4, 5, 5, 6, 7, 8, 9)
res30: List[Int] = List(1, 2, 3, 4, 5, 5, 6, 7, 8, 9)


scala> List(1, 2, 3, 5, 5, 5, 6, 6,6,6,6, 7,7,7, 8, 9)
res31: List[Int] = List(1, 2, 3, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 9)


scala> var list =List(1, 2, 3, 5, 5, 5, 6, 6,6,6,6, 7,7,7, 8, 9)
list: List[Int] = List(1, 2, 3, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 9)


scala> list.map((_,1))
res32: List[(Int, Int)] = List((1,1), (2,1), (3,1), (5,1), (5,1), (5,1), (6,1), (6,1), (6,1), (6,1), (6,1), (7,1), (7,1), (7,1), (8,1), (9,1))


scala> list.map((_,1)).groupBy(_._2)
res33: scala.collection.immutable.Map[Int,List[(Int, Int)]] = Map(1 -> List((1,1), (2,1), (3,1), (5,1), (5,1), (5,1), (6,1), (6,1), (6,1), (6,1), (6,1), (7,1), (7,1), (7,1), (8,1), (9,1)))


scala> list.map((_,1)).groupBy(_._1)
res34: scala.collection.immutable.Map[Int,List[(Int, Int)]] = Map(5 -> List((5,1), (5,1), (5,1)), 1 -> List((1,1)), 6 -> List((6,1), (6,1), (6,1), (6,1), (6,1)), 9 -> List((9,1)), 2 -> List((2,1)), 7 -> List((7,1), (7,1), (7,1)), 3 -> List((3,1)), 8 -> List((8,1)))


scala> list.map((_,1)).groupBy(_._1).map(t=>(t._1,t._2.size))
res35: scala.collection.immutable.Map[Int,Int] = Map(5 -> 3, 1 -> 1, 6 -> 5, 9 -> 1, 2 -> 1, 7 -> 3, 3 -> 1, 8 -> 1)


scala> res35.map(t)
<console>:10: error: not found: value t
              res35.map(t)
                        ^


scala> for(c<- 0 until res35.size) println(res35(c))
java.util.NoSuchElementException: key not found: 0
at scala.collection.MapLike$class.default(MapLike.scala:228)
at scala.collection.AbstractMap.default(Map.scala:58)
at scala.collection.MapLike$class.apply(MapLike.scala:141)
at scala.collection.AbstractMap.apply(Map.scala:58)
at $anonfun$1.apply$mcVI$sp(<console>:10)
at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)
at .<init>(<console>:10)
at .<clinit>(<console>)
at .<init>(<console>:7)
at .<clinit>(<console>)
at $print(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:734)
at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:983)
at scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:573)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:604)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:568)
at scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:760)
at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:805)
at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:717)
at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:581)
at scala.tools.nsc.interpreter.ILoop.innerLoop$1(ILoop.scala:588)
at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:591)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:882)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:837)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:837)
at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:837)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:83)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:96)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:105)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)




scala> res35.toList
res38: List[(Int, Int)] = List((5,3), (1,1), (6,5), (9,1), (2,1), (7,3), (3,1), (8,1))


scala> for(c<- 0 until res38.size) println(res38(c))
(5,3)
(1,1)
(6,5)
(9,1)
(2,1)
(7,3)
(3,1)
(8,1)


scala> 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值