Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Java 8 Streams
Java 8 Streams
Java 8 Streams
Ebook80 pages27 minutes

Java 8 Streams

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Java 8 bringt einige Neuerungen mit sich. Eine der größeren Veränderungen ist die Einführung des neuen Streams-API in Verbindung
mit Lambdas. Zusammen ergeben diese beiden Dinge sehr effektive Werkzeuge für den Entwickler. Wir schauen uns an, was genau diese Streams sind, wie man sie
einsetzen kann und welche Vorteile sich aus dem Einsatz ergeben. Beispiele aus dem Bereich der Nebenläufigkeit und der Integration in JavaFX zeigen auf, wie
Streams in der täglichen Arbeit eingesetzt werden können. Dieses Buch richtet sich an alle Entwickler, die sich im Detail mit dem Einsatz von Java 8 beschäftigen wollen, egal, ob für das große neue Projekt oder die Migration eines Altprojekts. Java 8 und insbesondere die neuen Streams werden Ihnen Spaß machen, gehen Sie es an!
LanguageDeutsch
Release dateDec 13, 2013
ISBN9783868024982
Java 8 Streams

Read more from Sven Ruppert

Related to Java 8 Streams

Titles in the series (100)

View More

Related ebooks

Programming For You

View More

Related articles

Reviews for Java 8 Streams

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Java 8 Streams - Sven Ruppert

    https://bitbucket.org/rapidpm/entwicklerpress-shortcut-jdk8-streams.

    1 Data in – Data out

    1.1 Was waren nochmal diese Streams?

    Jeder ist in Java schon einmal mit irgendeiner Form von Streams konfrontiert worden. Aber was genau macht einen Stream nun im JDK 8 aus?

    Streams sind keine Datenstruktur, was so viel bedeutet, dass sie keinen Storage für Daten darstellen. Es handelt sich eher um eine Pipeline für Datenströme. In dieser Pipeline werden verschiedene Transformationen auf die Daten angewendet. In diesem speziellen Fall werden die Transformationen nicht auf den Daten der Quellstruktur selbst durchgeführt. Die zugrunde liegenden Datenstrukturen wie Arrays oder Listen werden also nicht verändert. Ein Stream wrappt also die Datenstruktur, entnimmt ihr die Quelldaten und arbeitet auf Kopien.

    Streams sind für den Einsatz von Lambdas konzipiert worden. Es gibt also keine Streams ohne Lambdas, was kein Problem darstellt, da Streams und Lambdas zusammen im JDK 8 enthalten sind.

    Streams bieten keinen wahlfreien Zugriff per Index oder Ähnliches auf die Quelldaten. Der Zugriff auf das erste Element ist möglich, nicht jedoch auf beliebige nachfolgende Elemente.

    Streams bieten guten Support, um die Ergebnisse selbst wieder als z. B. Array oder List zur Verfügung zu stellen.

    Streams sind lazy organisiert. Das bedeutet, dass die Elemente erst geholt werden, wenn die Operation auf ihnen angewendet werden soll. Besteht die Datenquelle aus 1 000 Elementen, dann dauert der erste Zugriff nicht 1 000 Zeiteinheiten, sondern eine Zeiteinheit (vorausgesetzt, der Zugriff auf ein Element ist linear im Zeitverbrauch).

    Streams sind parallel, wenn gewünscht. Die Streams kann man prinzipiell in zwei Hauptgruppen unterteilen: in serielle und parallele Implementierungen. Wenn also Operationen atomar und ohne Invarianten durchgeführt werden können, wird kein typischer multi-threaded Code notwendig, um die im System schlafenden Cores zu verwenden.

    Streams sind ungebunden, da sie nicht wie Collections initial befüllt werden. Damit sind Streams auch unendlich. Es können Generatorfunktionen angegeben werden, die für die permanente Lieferung von Quelldaten sorgen, die erzeugt werden, wenn der Client Elemente des Streams konsumiert.

    1.2 Wo kommen all die Quelldaten her?

    Wenn man daran denkt, dass Streams nicht wie Collections ihre eigenen Daten halten, dann stellt sich die Frage, wo sie dann herkommen. Die gebräuchlichste Art, Streams zu erzeugen, ist die Verwendung der Methoden, um aus einer festen Anzahl von Elementen einen Stream zu erzeugen. Das sind dementsprechend die Methoden Stream.of(val1,val2,val3…), Stream.of(ar­ray) und list.stream(). Zu den Methoden aus dem

    Enjoying the preview?
    Page 1 of 1