【发布时间】:2017-04-15 06:27:50
【问题描述】:
我有多个列表存储如下:
Data1 -> 2,100
Data2 -> 5,300
到目前为止,我已经能够将这些插入到一个 txt 文件中并再次读出它们。但是我不确定如何进行计算,以便显示第一个值乘以第二个值。这就是我想要的:
Data1 -> 200
Data2 -> 1500
我想我可能已经能够修改下面的代码(删除不相关的代码)mapdata2 存储为Map(String, List[Int]):
val mapdata2 = readFile("newDataFile.txt")
//11 view newly created stocks
def handleEleven(): Boolean = {
mnuShowPoints(currentStockFor2)
true
}
def mnuShowPoints(stock:() => Map[String,List[Int]]) = {
stock() foreach {case (x,y) => println(s"$x: $y")}
}
// sort map by value in descending order -
def currentStockFor2():Map[String,List[Int]] = {
ListMap(mapdata2.toSeq.sortWith(_._1 < _._1):_*)
}
我不知道如何解决这个问题,我试过了:
ListMap(mapdata2.map(x=>x*x)
认为这可能将第一个值乘以另一个值,但事实并非如此。我需要更好地理解这是如何工作的。我不明白该怎么做,所以我尝试了一些方法,直到找到有效的方法。我不是在找人为我做这项工作,只是帮助我理解。谢谢
【问题讨论】: