Java 8 Streams
Von Sven Ruppert
()
Über dieses E-Book
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!
Mehr von Sven Ruppert lesen
schnell + kompakt
Ähnlich wie Java 8 Streams
Titel in dieser Serie (100)
TFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in Google Go Bewertung: 0 von 5 Sternen0 BewertungenSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 BewertungenZend Framework 2: Für Einsteiger und Umsteiger Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Bewertung: 0 von 5 Sternen0 BewertungenJava EE Security Bewertung: 0 von 5 Sternen0 BewertungenAmazon Web Services für .NET Entwickler Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenJavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Fork-Join-Framework und Phaser Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Bewertung: 0 von 5 Sternen0 BewertungenADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Bewertung: 0 von 5 Sternen0 BewertungenGeolocation mit PHP: Foursquare-API, Google Places & Qype Bewertung: 0 von 5 Sternen0 BewertungenNFC: Near Field Communication für Android-Entwickler Bewertung: 5 von 5 Sternen5/5UX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 BewertungenHTML5 für Mobile Web Bewertung: 0 von 5 Sternen0 BewertungenC++: Kurzportträt einer zeitlosen Sprache Bewertung: 0 von 5 Sternen0 BewertungenÜberzeugende Präsentationen: Konzeption, Technik und Design Bewertung: 0 von 5 Sternen0 BewertungenMobile Business: Was Entscheider morgen wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenEclipse meets Java FX Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Strategie und Planung Bewertung: 0 von 5 Sternen0 BewertungenServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenF#: Ein praktischer Einstieg Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Executive Briefing Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
Java 9 Streams Bewertung: 0 von 5 Sternen0 BewertungenPowerShell: Anwendung und effektive Nutzung Bewertung: 5 von 5 Sternen5/5C# 8.0 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenDSL mit Xtext/Xtend. 4GL mit externem Quellcode Bewertung: 0 von 5 Sternen0 BewertungenC# 10 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenWeb-APIs mit ASP.NET MVC 6 Bewertung: 0 von 5 Sternen0 BewertungenEnterprise Java Web Services Bewertung: 0 von 5 Sternen0 BewertungenNebenläufigkeit in Java und C++ Bewertung: 0 von 5 Sternen0 BewertungenAngular 2: Moderne Frontends für alle Plattformen entwickeln Bewertung: 0 von 5 Sternen0 BewertungenClojure: Funktionale Programmierung für die JVM Bewertung: 0 von 5 Sternen0 BewertungenC# 6.0 – kurz & gut Bewertung: 5 von 5 Sternen5/5Big Data: Datenverarbeitung basierend auf MOM und SQL Bewertung: 0 von 5 Sternen0 BewertungenWeb Services mit Apache CXF: Schnell und einfach erklärt Bewertung: 0 von 5 Sternen0 BewertungenApache Kafka Bewertung: 0 von 5 Sternen0 BewertungenASP.NET Core: Eine Einführung Bewertung: 0 von 5 Sternen0 BewertungenElasticsearch: Clientnutzung, Datenvisualisierung und Apache Lucene Bewertung: 0 von 5 Sternen0 BewertungenA++ und systemnahe Programmiersprachen: Funktional programmieren in C/C++ Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Fork-Join-Framework und Phaser Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Bewertung: 0 von 5 Sternen0 BewertungenModerne Webanwendungen mit AngularJS Bewertung: 0 von 5 Sternen0 BewertungenFrequenzverhalten linearer Systeme: Kompendium Simulation und Regelung technischer Prozesse, Teil 7 Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 16 Bewertung: 0 von 5 Sternen0 BewertungenSAP Schnittstellen Programmierung mit RFC und VBA: SAP Daten mit MS Access bearbeiten Bewertung: 0 von 5 Sternen0 BewertungenSprachenkompendium: Vala, Go und Rust Bewertung: 0 von 5 Sternen0 BewertungenSpock, Geb und Selenium: Testframeworks unter die Lupe genommen Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren lernen mit A++: Funktional programmieren in Python und Java Bewertung: 0 von 5 Sternen0 BewertungenRuby Pakete 100 Stöße: Eine Stunde Meisterklasse, Ausgabe 2024 Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für .NET-Entwickler Bewertung: 0 von 5 Sternen0 Bewertungen
Programmieren für Sie
Raspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Bewertung: 0 von 5 Sternen0 BewertungenPython-Grundlagen Bewertung: 0 von 5 Sternen0 BewertungenDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Bewertung: 0 von 5 Sternen0 BewertungenSQL – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenMicrosoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Bewertung: 0 von 5 Sternen0 BewertungenPython kurz & gut: Für Python 3.x und 2.7 Bewertung: 3 von 5 Sternen3/5Die nicht zu kurze Kurzeinführung in MATLAB: Erste Schritte in MATLAB Bewertung: 0 von 5 Sternen0 BewertungenHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Bewertung: 0 von 5 Sternen0 BewertungenMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Bewertung: 0 von 5 Sternen0 BewertungenEinführung in die C-Programmierung mit dem ATmega32: Aufbau und Programmierung Bewertung: 0 von 5 Sternen0 BewertungenC++: Eine kompakte Einführung Bewertung: 0 von 5 Sternen0 BewertungenHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Bewertung: 0 von 5 Sternen0 BewertungenVue.js kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren für Einsteiger: Teil 1 Bewertung: 0 von 5 Sternen0 BewertungenAndroid-Programmierung kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenThink Python: Systematisch programmieren lernen mit Python Bewertung: 0 von 5 Sternen0 BewertungenTraumjob IT 2021: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Bewertung: 5 von 5 Sternen5/5Das große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5Algorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kurz & gut Bewertung: 3 von 5 Sternen3/5Microcontroller für das IoT Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Bewertung: 0 von 5 Sternen0 BewertungenRaspberry Pi: Einstieg • Optimierung • Projekte Bewertung: 5 von 5 Sternen5/5Python programmieren lernen: Der spielerische Einstieg mit Minecraft Bewertung: 0 von 5 Sternen0 BewertungenLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Bewertung: 0 von 5 Sternen0 BewertungenPowerprojekte mit Arduino und C: Schluss mit dem frustrierenden Ausprobieren von Code-Schnipseln! Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Java 8 Streams
0 Bewertungen0 Rezensionen
Buchvorschau
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(array) und list.stream(). Zu den Methoden aus dem