Beispiel für Java 8-Streams: Zeichen zählen

Code- und Programmbeispiele

Beispiel für Java 8-Streams: Zeichen zählen

Postby kottmair » Tue Jul 14, 2015 3:02 pm

Als tiefergehendes Beispiel für die Verwendung von Streams wollen wir eine Methode schreiben, die das Auftreten eines Zeichens in einem String zählen soll und dabei Java 8-Streams verwendet:
Code: Select all
        String text = "Ein Testtext, in dem das t gezählt wird.";
        long count = IntStream.iterate(0, n -> n + 1).limit(text.length()).map(text::charAt).filter(c -> c == 't').count();
        System.out.println(count);

1. Es wird ein IntStream erzeugt, also ein Stream von int-Werten.
2. Dieser Stream soll ab dem Wert 0 iterieren und den nächsten Wert jeweils um 1 erhöhen.
3. Es soll maximal bis zur Länge des Strings iteriert werden.
4. Die int-Werte 0, 1, 2, … werden gemappt auf die char-Werte an der entsprechenden Stelle des Strings (‘E‘,‘i‘,‘n‘, …).
5. Es werden nur diejenigen chars herausgefiltert, die dem Wert ‘t‘ entsprechen.
6. Die gefundenen Elemente werden gezählt.
kottmair
Site Admin
 
Posts: 8
Joined: Fri Sep 14, 2012 8:50 am

Return to Beispielprogramme

Who is online

Users browsing this forum: No registered users and 0 guests

cron