我有一个Seq of Student对象,他们在不同学科中得分均很高。 例如
static Future<List<AustinFeedsMeEvent>> _getEventsFromFirestore() async {
CollectionReference ref = Firestore.instance.collection('events');
QuerySnapshot eventsQuery = await ref
.where("time", isGreaterThan: new DateTime.now().millisecondsSinceEpoch)
.where("food", isEqualTo: true)
.getDocuments();
HashMap<String, AustinFeedsMeEvent> eventsHashMap = new HashMap<String, AustinFeedsMeEvent>();
eventsQuery.documents.forEach((document) {
eventsHashMap.putIfAbsent(document['id'], () => new AustinFeedsMeEvent(
name: document['name'],
time: document['time'],
description: document['description'],
url: document['event_url'],
photoUrl: _getEventPhotoUrl(document['group']),
latLng: _getLatLng(document)));
});
return eventsHashMap.values.toList();
}
我想要列出所有学科得分都超过50的学生。现在,我通过迭代,将值放入map并像在Java中一样进行检查来进行检查。我们如何在Scala中做到这一点?
答案 0 :(得分:2)
for i in range(len(flst)-2):
for j in flst[i+1]:
if j in range(flst[j], flst[j+2]):
print(j)
答案 1 :(得分:0)
假设您有一个案例班Students
,则类似以下内容的地图将为您提供一个由学生ID键针对所有分数均高于50的学生的地图。
case class Students(id:Int, subject:String, score:Int)
val result = scores.groupBy(_.id).filter(_._2.forall(_.score > 50))