As we mentioned earlier, Streams were first introduced from Java 8. Starting from Java 8, Java started to give more focus to functional programming and started to add functional features gradually.
Kotlin, on the other hand, started to add functional features from day one. Kotlin added functional features and interfaces. While working with Java, you can use Streams only if you use Java 8 and later versions, but with Kotlin you can still use Streams, even when working with JDK 6.
So, what are Streams? You can think of Streams as an abstract layer over a sequence of elements to perform aggregate operations. Confused? Let's take a code example and then try to understand:
fun main(args: Array<String>) { val stream = 1.rangeTo(10).asSequence().asStream() val resultantList = stream.skip(5).collect(Collectors.toList()) println(resultantList) }
The output is as follows:
In the preceding program, what we did was create an IntRange
value, create...