2016-04-28 3 views
0

diese Zeichenfolge wir wollen gegebenes Wort Auftreten (term frquency)Wie immer und bearbeiten Strom Werte Schleife (string)

String input="this a test of tests", 

Das ist unser Satz

in Worte aufgeteilt werden, zählen
Stream<String> stream = Stream.of(input.toLowerCase().split("\\s")).parallel(); 

Wie bearbeiten A die Stream-Werte, wie folgt: Wenn ein Element des Streams mit einem "s" -Zeichen endet, dann entfernen Sie es.

+3

Verwendung Filterbetrieb auf dem Stream. – AdamSkywalker

Antwort

1

Versuchen Sie dies.

String input="this a test of tests"; 
    Map<String, Long> map = Stream.of(input.toLowerCase().split("\\s")).parallel() 
     .map(s -> s.replaceFirst("s$", "")) 
     .collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); 
    System.out.println(map); 

Ergebnis:

{a=1, test=2, thi=1, of=1} 
Verwandte Themen