Thursday Oct 29, 2015

JavaOne 2015: Streams: The Real Powerhouse in Java 8 [CON8367]

Earlier this week, Venkat Subramaniam (President, Agile Developer, Inc.) presented [CON8367] entitled Streams: The Real Powerhouse in Java 8. This presentation discussed how streams relate to collections. This presentation also discussed usage patterns and the benefits of designing APIs with streams.

For more information on JDK 8 streams, see Aggregate Operations, Collections, and Lambda Expressions in the Java Tutorials.

Wednesday Oct 28, 2015

JavaOne 2015: New Tricks for Old Dogs: Collections Enhancements in Java 8 [CON7432]

On Wednesday, October 28th, Michael Duigou (Senior Software Engineer, Liquid Robotics) and Stuart Marks (Principal Member of Technical Staff, Oracle) discuss exciting new features introduced in Java 8 to the Java collections framework and the java.util.concurrent collections. This session [CON7432] examines these new features to show how they can be used to improve the performance, clarity, and maintainability of existing code. It also looks at how to begin using the Java 8 Stream API with existing applications.

For more information see:

Tuesday Oct 27, 2015

JavaOne 2015: Effective Java Streams [CON7066]

On Tuesday, October 27, Paul Sandoz (software engineer at Oracle) will present Effective Java Streams. This session discusses the Java SE Stream API, including tricks for effective parallel execution.

For more information, see the lesson Aggregate Operations from the Java Tutorials. This lesson includes a section on Parallelism.

Wednesday Jul 01, 2015

JDK 8 Massive Open and Online Course: Lambdas and Streams Introduction

Want to learn about Lambda Expressions and Streams in JDK 8? Then consider taking the FREE 3-week Oracle JDK 8 Massive Open and Online Course: Lambdas and Streams Introduction.

This course is designed to answer your questions and more.

  • Have you ever wondered what Lambda expressions are in Java?
  • Have you ever wanted to write parallel code in Java without worrying about threads and locking?
  • Have you ever wanted to process collections of data without using loops?
  • Have you ever wanted to do functional programming in Java?

All of these questions will be answered in this practical hands-on MOOC. This course introduces two major new changes to the Java platform: Lambda expressions and the Stream API.

Follow this link to enroll now!

Tuesday Sep 30, 2014

JavaOne 2014: You’ve Got Your Streams on My Collections!

Today, Mike Duigou (Principal Member of Technical Staff, Oracle), Stuart Marks (Principal Member of Technical Staff, Oracle), and Paul Sandoz (Software Engineer, Oracle) hosted the community discussion You’ve Got Your Streams on My Collections! Topics discussed included the state of the Java Collection and Streams APIs and some of the best third-party libraries.

For more information about the Collections and Streams API, see Aggregate Operations and the Collections trail in the Java Tutorials.

Monday Sep 29, 2014

JavaOne 2014: Lambda Expressions, Streams, and JDK 8 Enhancements to Collections

The following JavaOne presentations, scheduled for Monday, September 29, discuss lambda expressions, streams, and JDK 8 enhancements to collections:

For more information about these topics, see the following sections in the Java Tutorials:

Monday Mar 24, 2014

Learn More About Streams and Collections

Lambda Expressions are a major new language feature introduced in Java SE 8. Related to that change are the Streams API and Aggregate Operations on Collections. The Collection interface now exposes methods Stream<E> stream() and Stream<E> parallelStream(), for obtaining sequential or parallel streams from an underlying collection.

Here's a quick example showing how this new API (with Lambda Expressions) would be used in place of a traditional Iterator or for loop. It obtains a stream from the underlying collection, selects only red objects, then prints out the name of each object that was matched:
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));

Likewise, you could easily request a parallel stream, which might make sense if the collection is large enough and your computer has enough cores:

.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));

Using streams enables your code focus on "what" to do (instead of "how" to do it), leaving the library free to use whatever techniques it deems most appropriate (laziness, out-of-order execution, parallelism, etc.).

For more information on Lambda Expressions and Aggregate Operations, see the following resources:

See What's New in JDK 8 for information about other new features in JDK 8.

Wednesday Sep 25, 2013

JavaOne 2013: Lambda Expressions

Many conferences and hands-on lab sessions at JavaOne 2013 today feature lambda expressions, such as the following:

For more information about lambda expressions, see the following sections in the Java Tutorials:

Preview the Streams API in the package in the JDK 8 Early Access documentation.

Monday Sep 23, 2013

JavaOne 2013: Jump-starting Lambda Programming and The Road to Lambda

At JavaOne 2013, Stuart Marks presented the conference " Jump-starting Lambda Programming," and Paul Sandoz and Brian Goetz presented the conference "The Road to Lambda."

To learn more about lambda, see Lambda Expressions in the Java Tutorials. The conference "Jump-starting Lambda Programming" discusses the new Stream library; see the lesson Bulk Data Operations to learn more about this library. The conference "The Road to Lambda" discusses the new parallel stream libraries; see the section Parallelism for more information.


Blog about Java technology documentation and news about Java releases.


« July 2016