2016-10-06 1 views
0

ich eine Liste von Strings haben (List[String]) und ich möchte die häufigste Zeichenfolge aus dieser Liste erhalten:Wie häufigste String in Liste der Zeichenketten finden

:

val list1 = List('a','a','0','b','b','a') 

Die Antwort sollte

freq_list1 = a 

Ich dachte, list1.sliding(2).count... zu verwenden, um die Anzahl der eindeutigen Zeichenfolge zu erhalten, aber ich weiß nicht, wie man es einwickelt, die häufigste Zeichenfolge zu finden.

Antwort

3
list1.groupBy(identity).mapValues(_.size).maxBy(_._2)._1 

EDIT: Siehe Kommentar unten, kann durch maxBy(_._2.size) Verwendung ohne Mapping kürzer werden vorher dank @kawty

+3

'list1.groupBy (Identität) .maxBy (_._ 2.size) ._ 1 'ist kürzer – kawty

Verwandte Themen