Read now

Lambda and Collections in Kotlin

Lambdas are very useful with collections and in fact, they are the backbone of the advanced manipulation of collections.

Map and Filter

The basic function to manipulate collection is filter. This function accepts as an argument a lambda and returns a new collection. The lambda is given as an argument an element of the collection and returns a Boolean. If the lambda returns TRUE for an element, that element is added to the new collection, otherwise, it is excluded.

In this example, the filter function returns all even numbers.

The function map creates a new collection created by applying the lambda supplied to map to each element of the collection.

find and groupBy

The function find returns the first element of the collection that satisfies the condition set in the lambda. It is the same function as firstOrNull, which is a longer but also clearer name,

which is a longer but also clearer name.

The function groupBy allows dividing a collection into more groups according to the condition indicated.

fold

The method fold collapses a collection to a unique value, using the provided lambda and a starting value.

In the previous example, the first time we start with 0 and added all elements until the end. In the second case, with start with 15 and subtracted alle elements. Basically, the provided value is used as an argument for the start in the first cycle, then the start becomes the value returned by the previous cycle.

So, in the first case the function behaves like this:

  1. start = 0, element = 5 -> result 5
  2. start = 5, element = 10 -> result 15

For more details, you can take alook on the following links:-

https://kotlinlang.org/docs/reference/collection-filtering.html

https://kotlinlang.org/docs/reference/collection-grouping.html

 

 

 

. . .

Comment

Add Your Comment

Be the first to comment.

css.php
Hire Us!
Brief us about your requirements and we'll get back to you.
Woo! Hooy!
We have just recieved your project brief and our expert will contact you shortly.
Send Again
Close