What is zip() method in Kotlin?

Kotlin is a versatile programming language with simple syntax along with powerful features. It serves in the creation of Android applications and numerous Java Virtual Machine (JVM) projects.

The zip() method

The zip() function combines two or more collections element-wise and creates pairs of corresponding elements. It ensures elements are combined based on their positions, maintaining order and synchronization between collections.

Syntax

The syntax of the zip() method is given below:

fun <T, R, V> Iterable<T>.zip(other: Iterable<R>, transform: (T, R) -> V): List<V>
Syntax for zip() method
  • T is the type of elements in the first collection.

  • R is the type of elements in the second collection.

  • V is the type of elements in the resulting list.

  • other is the second collection to be zipped.

  • transform is a lambda function that takes elements from both collections and returns an element of type V.

Note: Make sure you have Kotlin installed. To learn more about the Kotlin installation on your system, click here.

Code

Let’s walk through a code example to demonstrate the usage of the zip() method.

Suppose we have two lists containing employee names and the number of answers they wrote. We will create a list of strings that combines the names and number of written answers.

fun main() {
val names = listOf("Alice", "Bob", "Charlie")
val answers = listOf(58, 29, 78)
val result = names.zip(answers) { name, answer ->
"$name wrote $answer answers"
}
println(result)
}

Code explanation

  • Line 1–3: Firstly, we define two lists: names that have three items and scores with three items.

  • Line 5: Next, we use the zip() method on the names list, and we pass the scores list as the second argument.

  • Line 5–6: Here, we use the lambda function that combines each name and score to create a formatted string.

  • Line 9: Finally, we print the resulting list containing the combined strings.

Output

Upon execution, the code combines elements from the names and scores lists element-wise. The lambda function processes each pair of elements and generates a new string that includes the name and respective score.

The output of the code looks like this:

[Alice scored 85, Bob scored 92, Charlie scored 78]

Conclusion

Hence, the zip() function in Kotlin is a potent mechanism for integrating elements from several collections in a concurrent and synchronized way. It can handle data element by element and generate new structures that improve the code readability and performance. Developers may use this function to write more efficient and understandable code.


Free Resources

Copyright ©2026 Educative, Inc. All rights reserved