Ich habe eine Klasse IndexEntry
, die so aussieht:
Ich speichere Objekte dieser Klasse in einem Guava SortedSetMultimap
(das mehrere Werte pro Schlüssel erlaubt), wo ich ein String
-Wort auf ein paar IndexEntry
s abbilde. Hinter den Kulissen wird jedes Wort einem SortedSet<IndexEntry>
zugeordnet.
Ich versuche eine Art indizierte Struktur von Wörtern zu Dokumenten und deren Häufigkeit innerhalb der Dokumente zu implementieren.
Ich weiß, wie man die Zählung des gebräuchlichsten Wortes erhält, aber ich kann das Wort selbst nicht finden.
Hier ist, was ich die Zählung des gebräuchlichsten Begriffes bekommen muss, wobei entries
das SortedSetMultimap
zusammen mit Hilfsmethoden ist:
Ich versuche Java 8 Features zu lernen, weil sie wirklich nützlich erscheinen. Allerdings kann ich nicht scheinen, dass der Stream so funktioniert, wie ich es möchte. Ich möchte in der Lage sein, sowohl das Wort als auch die Frequenz am Ende des Streams zu haben, aber wenn ich das Wort habe, kann ich sehr leicht das gesamte Vorkommen dieses Wortes erhalten.
Momentan habe ich immer noch Stream<SortedSet<IndexEntry>>
, womit ich nichts anfangen kann. Ich weiß nicht, wie man das häufigste Wort ohne die Frequenzen bekommt, aber wenn ich die Frequenz habe, kann ich nicht das entsprechende Wort verfolgen. Ich habe versucht, eine WordFrequencyPair
POJO-Klasse zu erstellen, um beide zu speichern, aber dann hatte ich nur ein Stream<SortedSet<WordFrequencyPair>>
, und ich konnte nicht herausfinden, wie man das in etwas Nützliches abbildet.
Was vermisse ich?
Tags und Links java java-8 java-stream multimap