Ich habe gespeichert mehr Listen wie folgt:Berechnungen in einer Karte Liste
Data1 -> 2,100
Data2 -> 5,300
Und bisher habe ich die Möglichkeit, diese in eine TXT-Datei einfügen und sie wieder herauslesen. Ich bin mir jedoch nicht sicher, wie man eine Berechnung durchführt, so dass sie den ersten Wert mal die Sekunde anzeigt. Das ist, was ich will:
Data1 -> 200
Data2 -> 1500
Ich dachte, ich konnte vielleicht meinen Code unten (ausgeschnitten irrelevant Code) mapdata2
gespeichert als Map(String, List[Int])
ändern:
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):_*)
}
Ich bin nicht sicher, wie um dieses Problem zu nähern, habe ich versucht:
ListMap(mapdata2.map(x=>x*x)
dieses denken den ersten Wert von dem anderen Wert haben kann, multipliziert aber es funktioniert nicht. Ich muss besser verstehen, wie das funktioniert. Ich verstehe es nicht, also probiere ich ein paar Methoden aus, bis ich finde, was funktioniert. Ich suche nicht jemanden, der die Arbeit für mich erledigt, hilft mir einfach zu verstehen. Dank