آموزش جاوا - ساختارهای داده
ساختارهای داده ارائه شده توسط بسته ابزاری جاوا بسیار قدرتمند هستند و مجموعهای از وظایف متنوع را اجرا میکنند. این ساختارهای داده شامل رابط و کلاسهای زیر هستند:
- Enumeration (شمارش)
- BitSet (مجموعه بیت)
- Vector (بردار)
- Stack (پشته)
- Dictionary (فرهنگ)
- Hashtable (جدول هش)
- Properties (خواص)
تمامی این کلاسها در حال حاضر منسوخ شدهاند و جاوا-۲ یک چارچوب جدید به نام چارچوب مجموعهها (Collections Framework) را معرفی کرده است که در فصل بعد بحث خواهد شد.
شمارش (Enumeration)
رابط شمارش به تنهایی یک ساختار داده نیست، اما در زمینه سایر ساختارهای داده بسیار مهم است. رابط شمارش یک روش برای بازیابی عناصر پیاپی از یک ساختار داده تعریف میکند.
به عنوان مثال، رابط شمارش یک متد به نام nextElement تعریف میکند که برای دریافت عنصر بعدی در یک ساختار داده حاوی چندین عنصر استفاده میشود.
برای مطالعه بیشتر درباره این رابط، به شمارش (Enumeration) مراجعه کنید.
مجموعه بیت (BitSet)
کلاس مجموعه بیت یک گروهی از بیتها یا پرچمها را پیادهسازی میکند که میتوانند به صورت مستقل تنظیم و پاک شوند.
این کلاس بسیار مفید است در مواردی که نیاز به ردیابی یک مجموعه مقادیر بولین دارید؛ به هر مقدار یک بیت اختصاص داده شده و بسته به شرایط آن را تنظیم یا پاک میکنید.
برای مطالعه بیشتر درباره این کلاس، به مجموعه بیت (BitSet) مراجعه کنید.
بردار (Vector)
کلاس بردار مشابه یک آرایه جاوا سنتی است، به استثنای اینکه میتواند در صورت نیاز به عناصر جدید افزوده شود.
مانند یک آرایه، میتوان به عناصر یک شیء بردار از طریق یک شاخص دسترسی پیدا کرد.
نکته خوب در استفاده از کلاس بردار این است که نیازی به نگرانی درباره تنظیم اندازه خاصی برای آن هنگام ایجاد ندارید؛ آن بهطور خودکار در صورت نیاز کوچکتر و بزرگتر میشود.
برای مطالعه بیشتر درباره این کلاس، به بردار (Vector) مراجعه کنید.
پشته (Stack)
کلاس پشته یک پشته آخرین-وار-اولی (LIFO) از عناصر را پیادهسازی میکند.
میتوانید یک پشته را به عنوان یک پشته عمودی از اشیاء تصور کنید؛ هنگامی که یک عنصر جدید اضافه میکنید، بر روی عناصر دیگر قرار میگیرد.
هنگامی که یک عنصر را از پشته خارج میکنید، از بالا خارج میشود. به عبارت دیگر، آخرین عنصری که به پشته اضافه کردید، اولین عنصری است که خارج میشود.
برای مطالعه بیشتر درباره این کلاس، به پشته (Stack) مراجعه کنید.
فرهنگ (Dictionary)
کلاس فرهنگ یک کلاس انتزاعی است که ساختاری دادهای برای نگاشت کلیدها به مقادیر تعریف میکند.
این در مواردی کاربردی است که میخواهید از طریق یک کلید خاص به داده دسترسی داشته باشید به جای یک فهرست عدد صحیح.
از آنجایی که کلاس فرهنگ انتزاعی است، فقط چارچوبی برای یک ساختار داده با کلید است و برای پیادهسازی خاصی ارائه نمیدهد.
برای مطالعه بیشتر درباره این کلاس، به فرهنگ (Dictionary) مراجعه کنید.
جدول هش (Hashtable)
کلاس جدول هش امکان سازماندهی دادهها براساس یک ساختار کلید تعریف شده توسط کاربر را فراهم میکند.
به عنوان مثال، در یک جدول هش لیست آدرس، شما میتوانید دادهها را براساس یک کلید مانند کد ZIP ذخیره و مرتب کنید به جای نام یک شخص.
معنای خاص کلیدها درباره جداول هش کاملاً وابسته به استفاده از جدول هش و دادههای آن است.
برای مطالعه بیشتر درباره این کلاس، به جدول هش (Hashtable) مراجعه کنید.
خواص (Properties)
خواص یک زیرکلاس از جدول هش است. از آن برای نگهداری فهرستهایی از مقادیر استفاده میشود که کلید یک رشته و مقدار همچنین یک رشته است.
کلاس خواص توسط بسیاری از کلاسهای دیگر جاوا استفاده میشود. به عنوان مثال، نوع شیء بازگردانده شده توسط System.getProperties( ) هنگام دریافت مقادیر محیطی است.
برای مطالعه بیشتر درباره این کلاس، به خواص (Properties) مراجعه کنید.