نحوه استفاده از ساختار داده TreeMap در کاتلین | درس دوازدهم | آموزش مقدماتی کاتلین

آرایه های از نوع TreeMap یک راه کار مفید برای ذخیره و دسترسی به داده های مرتب شده هستند. آنها می توانند برای کاربردهای مختلفی مانند ذخیره داده های آماری، مرتب سازی لیست ها و ایجاد درخت ها استفاده شوند. در زبان برنامه نویسی کاتلین، آرایه های از نوع TreeMap یک آرایه از جفت های کلید-مقدار هستند که به صورت منظم مرتب شده اند. کلیدها باید قابل مقایسه باشند، و مقادیر می توانند از هر نوع باشند.زمان هایی ممکن است ما بخواهیم داده های خود را به همراه کلید در آرایه خود ذخیره کنیم در این زمان ها است که از آرایه های از نوع TreeMap استفاده می‌کنیم.

مطالب مرتبط : آموزش مقدماتی کاتلین از صفر تا صد

پیاده سازی آرایه های  TreeMap در کاتلین

برای ایجاد یک آرایه از نوع TreeMap، از سازنده زیر استفاده می کنیم:

این سازنده یک آرایه خالی از نوع TreeMap ایجاد می کند.

برای اضافه کردن یک جفت کلید-مقدار به یک آرایه از نوع TreeMap، از تابع زیر استفاده می کنیم

این تابع جفت کلید-مقدار مشخص شده را به آرایه اضافه می کند و مقدار قبلی را با همان کلید برمی گرداند. اگر کلید قبلاً در آرایه وجود داشته باشد، مقدار قبلی با مقدار جدید جایگزین می شود.

برای حذف یک جفت کلید-مقدار از یک آرایه از نوع TreeMap، از تابع زیر استفاده می کنیم:

این تابع جفت کلید-مقدار مشخص شده را از آرایه حذف می کند و مقدار قبلی را با همان کلید برمی گرداند. اگر کلید در آرایه وجود نداشته باشد، مقدار null برمی گردد.

برای دسترسی به یک جفت کلید-مقدار از یک آرایه از نوع TreeMap، از تابع زیر استفاده می کنیم:

این تابع مقدار جفت کلید-مقدار مشخص شده را برمی گرداند. اگر کلید در آرایه وجود نداشته باشد، مقدار null برمی گردد.

برای بررسی وجود یک کلید در یک آرایه از نوع TreeMap، از تابع زیر استفاده می کنیم:

این تابع true را برمی گرداند اگر کلید مشخص شده در آرایه وجود داشته باشد، در غیر این صورت false را برمی گرداند.

برای بررسی وجود یک جفت کلید-مقدار در یک آرایه از نوع TreeMap، از تابع زیر استفاده می کنیم:

این تابع true را برمی گرداند اگر مقدار مشخص شده در آرایه وجود داشته باشد، در غیر این صورت false را برمی گرداند.

برای پیمایش یک آرایه از نوع TreeMap، از حلقه for-in استفاده می کنیم:

این حلقه برای هر جفت کلید-مقدار در آرایه تکرار می شود.

چندیدن مثال از TreeMap

در اینجا یک مثال از نحوه استفاده از آرایه های از نوع TreeMap آورده شده است:

مثال های کاربردی از آرایه TreeMap در کاتلین

آرایه TreeMap در کاتلین

خروجی مثال بالا :

خروجی مثال آرایه TreeMap در کاتلین

خروجی مثال آرایه TreeMap در کاتلین

مطالب مرتبط :نحوی مدیریت null در کاتلین به چه صورتی می‌باشد | آموزش مقدماتی کاتلین | درس دهم

چندین مثال دیگر TreeMap  در برنامه نویسی کاتلین .

ذخیره داده های آماری

برای ذخیره داده های آماری مانند دما، وزن یا سن می توان از آرایه های از نوع TreeMap استفاده کرد. به عنوان مثال، در اینجا یک کد برای ذخیره داده های دما در یک آرایه از نوع TreeMap آورده شده است:

ذخیره داده های آماری با استفاده TreeMap

ذخیره داده های آماری

خروجی مثال بالا : 

خرویجی مثال بالا برای داده های آماری

مرتب سازی لیست ها

برای مرتب سازی یک لیست می توان از یک آرایه از نوع TreeMap استفاده کرد. به عنوان مثال، در اینجا یک کد برای مرتب سازی یک لیست از اعداد در یک آرایه از نوع TreeMap آورده شده است:

مرتب سازی لیست ها با استفاده از Treemapp

مرتب سازی لیست ها

خروجی مثال مرتب سازی لیست ها در کاتلین

خروجی مثال بالا

ایجاد درخت ها

برای ایجاد یک درخت می توان از آرایه های از نوع TreeMap استفاده کرد. به عنوان مثال، در اینجا یک کد برای ایجاد یک درخت از اعداد در یک آرایه از نوع TreeMap آورده شده است:

ایجاد درخت ها با TreeMap در کاتلین

ایجاد درخت ها با TreeMap

خروجی مثال بالا برای نمایش درختی به کمک treemap

خروجی مثال بالا

مطالب مرتبط: کلاس ها در کاتلین | آموزش مقدماتی کاتلین |درس نهم

تفاوت بین TreeMap و HashMap در کاتلین

ساختار داده:
  • TreeMap: مبتنی بر درخت (معمولاً درخت قرمز و مشکی) است که داده ها را بر اساس کلیدها به صورت صعودی مرتب می کند.
  • HashMap: مبتنی بر Hashing است که کلیدها را به یک سطل خاص بر اساس تابع Hash هدایت می کند.
دسترسی:
  • TreeMap: پیدا کردن و پیمایش عنصر بر اساس کلیدها (به دلیل مرتب بودن) سریعتر است (زمان پیچیدگی O(log n)).
  • HashMap: دسترسی مستقیم به یک عنصر با کلید مشخص بسیار سریع است (زمان پیچیدگی O(1) در حالت ایده آل).
اضافه کردن و حذف:
  • TreeMap: اضافه کردن و حذف عناصر کمی کندتر از HashMap است (زمان پیچیدگی O(log n)).
  • HashMap: اضافه کردن و حذف عناصر به طور کلی سریعتر است (زمان پیچیدگی O(1) در حالت ایده آل).
فضا:
  • TreeMap: به دلیل ساختار درخت ممکن است حافظه بیشتری نسبت به HashMap مصرف کند.
  • HashMap: به طور کلی حافظه کمتری مصرف می کند.
قابلیت مرتب سازی:
  • TreeMap: داده ها به طور خودکار بر اساس کلیدها مرتب می شوند.
  • HashMap: داده ها بر اساس کلیدها مرتب نیستند. برای مرتب سازی باید از روش های مرتب سازی خارجی استفاده شود.
کاربرد:
  • TreeMap:
    • وقتی نیاز به مرتب بودن داده ها برای پیمایش یا یافتن عناصر بر اساس ترتیب مشخصی دارید.
    • وقتی می خواهید محدوده ای از داده ها (floor, ceiling) را پیدا کنید.
  • HashMap:
    • برای دسترسی سریع به عناصر براساس کلید (به استثنای موارد با تعداد برخوردهای زیاد).
    • وقتی مرتب بودن داده ها مهم نیست.
خلاصه:
  • TreeMap: انتخاب خوبی برای داده های مرتب شده و عملیات جستجوی ترتیبی است.
  • HashMap: انتخاب خوبی برای دسترسی سریع به عناصر براساس کلید است.
مطالب مرتبط : HashMap در کاتلین چیست ؟

انتخاب بین TreeMap و HashMap به نیازهای خاص برنامه شما بستگی دارد. اگر مرتب بودن داده ها مهم است و نیاز به جستجوی ترتیبی دارید، TreeMap انتخاب خوبی است. اگر دسترسی سریع به عناصر براساس کلید مهم است و مرتب بودن داده ها اهمیتی ندارد، HashMap انتخاب خوبی است.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]
اشتراک‌گذاری

من فرشید حبیبی هستم، یک برنامه نویس موبایل با بیش از 5 سال تجربه. من علاقه زیادی به برنامه نویسی دارم و در این زمینه به طور مداوم در حال یادگیری و پیشرفت هستم. در حال حاضر، به عنوان یک برنامه نویس اندروید در یک شرکت معتبر مشغول به کار هستم و همچنین یک وبسایت آموزشی به نام کدایت را اداره می کنم. در کدایت، به تولید محتوای آموزشی در مورد برنامه نویسی اندروید و وب می پردازیم. هدف من از ایجاد این وبسایت، کمک به سایر برنامه نویسان اندرویدی برای یادگیری و پیشرفت در این زمینه است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *