فرض کنید لازم داریم که تمامی کلماتی که در اسامی کاربرانمون وارد شده رو جداجدا به دست بیاریم.
مثلا یک لیست از طرف حسابها داریم که اسامیشون اینجوری هست:
علی کمالی
عباس علی ملاحسینی
حسین شاکر اردکانی
ما خروجی این شکلی می خواستیم:
علی، کمالی، عباس، علی ، ملاحسینی، حسین، شاکر ، اردکانی
اگر از map استفاده کنیم این شکلی :
val names = getContacts().map { it.name.split(" ") }
نتیجه می شه List<List<String>
ولی اگه از flatMap استفاده کنیم، همونطور که از اسمش مشخص هست، مسطح سازی می کنه به اصلاح
val names = getContacts().flatMap { it.name.split(" ") }
خروجیش میشه
List<String>
اون چیزی که ما لازم داریم