Anteprima
Vedrai una selezione di 1 pagina su 3
Java - Utilizzo Lambda Expression & Streams - Esercitazione Svolta 3 Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

NUMBER_OF_LINES("Count the lines",

s -> "There are "+ Long.toString(s.chars() .filter(ch -> ch ==

'\n') .count() + 1) + "

lines\n"), ORDER_WORDS("Order words alphabetically", s ->

Arrays.stream(s.toLowerCase().split(WORDS_SEPARATOR))

.filter(str -> !str.isEmpty())

.distinct()

.sorted()

.collect(joining("\n"))),

COUNT_WORDS("Count words", s ->

Arrays.stream(s.toLowerCase().split(WORDS_SEPARATOR))

.collect( groupingBy(str -> str,

collectingAndThen(counting(), x

-> x))) .entrySet()

.stream()

.filter((entry) -> !entry.getKey().isEmpty())

.sorted((e1,e2)->

e2.getValue().compareTo(e1.getValue())) .map((entry) -> entry.getKey() + " -> "+

entry.getValue()) .collect(joining("\n")));

private final String commandName;

private final Function<String, String> fun;

private Command(final String name,

final Function<String, String> process) {

commandName = name;

fun = process;

}

@Override

public String toString() {

return commandName;

}

public String translate(final String s) {

return fun.apply(s);

}

}

Dettagli
Publisher
A.A. 2014-2015
3 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher siboXD di informazioni apprese con la frequenza delle lezioni di Programmazione ad Oggetti e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Viroli Mirko.