Häufigkeit von Wörtern zählen

Mariexshhx

Bekanntes Mitglied
Java:
public class WortHaufigkeit {
    public static void main(String[] args) {
        if (args.length != 1) {
            System.out.println("Requires exactly one filename");
            System.exit(-1);
        }
        Path file = Path.of(args[0]);

        Map<String, Long> frequency = new HashMap<>();

        try (Stream<String> words = new Scanner(file).tokens()) {

            /* frequency =  mit Hilfe von Streams implementieren */

        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(frequency);
    }
}

Hey ich soll mithilfe von Streams die Häufigkeit der einzelnen Wörter zählen ... Ich könnte doch group by nutzen und nach den einzelnen Wörtern gruppieren oder bin ich auf einem ganz falschen weg ? Und dann sozusagen Zählen wie viele Wörter eine Gruppe enthält ?
 

blaBra

Mitglied
@Mariexshhx :

Java:
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

public class WordCounter {
    public static void main(String[] args) {
        List<String> words = List.of("a", "b", "a", "b", "c", "a", "c", "c", "c");
        LinkedHashMap<String, Long> linkedHashMap = words.stream()
                .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
                .entrySet().stream().sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())).collect(Collectors.toMap(
                        Map.Entry::getKey,
                        Map.Entry::getValue,
                        (v1, v2) -> {
                            throw new IllegalStateException();
                        },
                        LinkedHashMap::new
                ));
        System.out.println("linkedHashMap = " + linkedHashMap);
    }
}

In Zeile 13 bis 20 geht es nur darum, den Spaß zu sortieren. Die eigentliche Logik findet in Zeile 12 statt ( .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))).

Siehe auch hier https://stackoverflow.com/a/29122395 ...
 

mihe7

Top Contributor
Und ja .... ich bin nicht gut darin, mir schöne Beispielwörter zu überlegen ;) ...
Wozu überlegen?

Java:
Stream<String> getWords() {
    HttpClient client = HttpClient.newBuilder().build();
    HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://loremipsum.de/downloads/version1.txt"))
            .GET().build();
    try {
        HttpResponse<Stream<String>> response = client.send(request, HttpResponse.BodyHandlers.ofLines());
        return response.body()
                .map(line -> line.replaceAll("[.,]", ""))
                .flatMap(line -> Stream.of(line.split("\\s")));
    } catch (IOException | InterruptedException ex) {
        throw new RuntimeException(ex);
    }
}
 

blaBra

Mitglied
@mihe7 Wenn man Wörter oder Passwörter braucht, bietet es sich auch immer an, zufällige Wikipedia-Artikel zu crawlen und parsen. ;)

Weiß gar nicht, ob das erlaubt ist. 👀 Btw. hier ging es doch nur um ein einfaches Beispiel...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
H Häufigkeit von Zahlen ermitteln Java Basics - Anfänger-Themen 23
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
O FilterStream häufigkeit der Buchstaben Java Basics - Anfänger-Themen 43
B Array - die Häufigkeit der Zahl zählen Java Basics - Anfänger-Themen 9
B generische LinkedList nach Häufigkeit der Elemente füllen Java Basics - Anfänger-Themen 6
H Klassen varibale einer klasse in einer anderen klasse aufrufen und häufigkeit ausgeben Java Basics - Anfänger-Themen 22
F Häufigkeit von Buchstaben Java Basics - Anfänger-Themen 7
J Array nach häufigkeit sortieren Java Basics - Anfänger-Themen 4
J Zufallszahlen Häufigkeit Java Basics - Anfänger-Themen 8
P Hashtabelle-Häufigkeit von String zählen Java Basics - Anfänger-Themen 2
M Methoden String methoden ,Häufigkeit einm wort in der Zeichenkette Java Basics - Anfänger-Themen 14
Bastie Strings nach häufigkeit sortieren -aber wie? Java Basics - Anfänger-Themen 10
G Häufigkeit der Elemente in einer ArrayList zählen Java Basics - Anfänger-Themen 2
G Häufigkeit der Wörter einer Webseite zählen Java Basics - Anfänger-Themen 7
G Häufigkeit d. Auftritts eines Wertes im Array Java Basics - Anfänger-Themen 7
G absolute Häufigkeit Java Basics - Anfänger-Themen 13
E relative häufigkeit berechnen funktioniert nicht Java Basics - Anfänger-Themen 7
Poppigescorn String mit mehreren Wörtern füllen? Java Basics - Anfänger-Themen 4
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
L Array mit Wörtern gestalten Java Basics - Anfänger-Themen 2
N Wörter und Zahlen nach speziellen Wörtern ausgeben Java Basics - Anfänger-Themen 11
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
S Vokale am Ende von Wörtern löschen Java Basics - Anfänger-Themen 7
T Erste Schritte Ende von Wörtern in einer Zeile feststellen? Java Basics - Anfänger-Themen 5
K Character in Wörtern vertauschen Java Basics - Anfänger-Themen 11
K Sortierung von Anzahl der Wörtern in ArrayList Java Basics - Anfänger-Themen 4
L Textzeilen nach 2 Wörtern untersuchen wenn vorhanden Zeile in neuen Text ausgeben wenn nicht löschen Java Basics - Anfänger-Themen 10
? Algo gleicher Buchstabe in 2 Wörtern suchen Java Basics - Anfänger-Themen 16
N Importieren von Wörtern aus Datei als Array von Strings Java Basics - Anfänger-Themen 2
C sortieren von Wörtern Java Basics - Anfänger-Themen 19
M länge von wörtern betimmen Java Basics - Anfänger-Themen 20
S Suchen von Wörtern in einem Text Java Basics - Anfänger-Themen 11
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
S Java Methodenaufrufe zählen Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
H Buchstaben zählen Java Basics - Anfänger-Themen 9
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
X Game of Life Nachbarn zählen Java Basics - Anfänger-Themen 20
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
S Binärbäume knoten zählen Java Basics - Anfänger-Themen 16
K Counts zählen Java Basics - Anfänger-Themen 23
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
J Zeichen im String zählen Java Basics - Anfänger-Themen 3
G Binärer Suchbaum Knoten zählen Java Basics - Anfänger-Themen 1
N Zeichen in einem Textfeld zählen und hinterlegen Java Basics - Anfänger-Themen 6
E Knoten eines Baumes unter Bedinung zählen Java Basics - Anfänger-Themen 2
T x Schritte zählen Java Basics - Anfänger-Themen 18
P Schlüsselworte Zählen und Zuweisen von eingelesenen Zahlen Java Basics - Anfänger-Themen 1
A In einem String alle Eigennamen zählen Java Basics - Anfänger-Themen 6
L Baum Knoten zählen Java Basics - Anfänger-Themen 6
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
S Zählen der Zeiger auf Objekte Java Basics - Anfänger-Themen 35
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
L Vorherige Objekte zählen und ausgeben Java Basics - Anfänger-Themen 11
L Diphthonge zählen... Java Basics - Anfänger-Themen 5
O ELOPS Zählen Java Basics - Anfänger-Themen 1
S Rekursives Zählen einer Zahl Java Basics - Anfänger-Themen 8
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
K alle Vorkommen einer bestimmten Ziffer in einer Zahl zählen Java Basics - Anfänger-Themen 2
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
O Großbuchstaben im Satz zählen Java Basics - Anfänger-Themen 6
S zahl hoch und runter zählen per button Java Basics - Anfänger-Themen 25
N Zählen von Rationalen Werten eines Arrays Java Basics - Anfänger-Themen 10
Y for-Schleife zählen Java Basics - Anfänger-Themen 6
K Probleme mit Sortieren und dem Zählen Java Basics - Anfänger-Themen 13
S Vererbung Objekte von Ober - und Unterklassen zählen Java Basics - Anfänger-Themen 3
F SubString in String zählen Java Basics - Anfänger-Themen 3
C Im Array zählen und verändern Java Basics - Anfänger-Themen 5
O Zählen der while-Scheife Java Basics - Anfänger-Themen 3
P bytes aus einem InputStream zählen Java Basics - Anfänger-Themen 2
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
G Erste Schritte Einen Array absuchen und Buchstaben zählen Java Basics - Anfänger-Themen 17
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
D Groß/KleinBuchstaben zählen Java Basics - Anfänger-Themen 21
D Buchstabe zählen/mappen Java Basics - Anfänger-Themen 3
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
M Hilfe bei Zählen von Farben? Java Basics - Anfänger-Themen 7
R Input/Output Tastenschläge einer Taste zählen Java Basics - Anfänger-Themen 14
J Schleifendurchläufe zählen Java Basics - Anfänger-Themen 4
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
E Methoden Methodenaufrufe zählen Java Basics - Anfänger-Themen 11
T Leerzeichen zählen mit Rekursion Java Basics - Anfänger-Themen 17
H Programm zum Zählen von Zeichen Java Basics - Anfänger-Themen 5
K Kommandozeile zählen Java Basics - Anfänger-Themen 5
J Bits zusammen zählen Java Basics - Anfänger-Themen 4
J Array; Vorkommen zählen Java Basics - Anfänger-Themen 10
T durchlaufene while-Schleifen zählen Java Basics - Anfänger-Themen 3
P Replace zählen Java Basics - Anfänger-Themen 4
A Methoden Gedanken Anstöße zur Realisierung zweier Ideen (Grafisch Sekunden zählen und Frameaufteilung) Java Basics - Anfänger-Themen 18
E Zeichen von Kommandozeilenparameter zählen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben