// Created on savesnippets.com · https://savesnippets.com/lxuKaVAgntax8r data class User(val name: String, val tags: List) fun main() { val users = listOf( User("Alice", listOf("admin", "editor")), User("Bob", listOf("editor", "viewer")), User("Cara", listOf("admin")), ) // All tags across all users (with duplicates) val allTags: List = users.flatMap { it.tags } println(allTags) // [admin, editor, editor, viewer, admin] // Distinct tags println(allTags.distinct()) // [admin, editor, viewer] // flatten — when you already have a List> val nested = listOf(listOf(1, 2), listOf(3, 4, 5), listOf(6)) println(nested.flatten()) // [1, 2, 3, 4, 5, 6] // String chars from a list of words val chars = listOf("hi", "bye").flatMap { it.toList() } println(chars) // [h, i, b, y, e] }