در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش جاوا (Java) قسمت 41 : معرفی داده ساختارها Enumeration

با سلام به شما دوستان و همراهان Itpro. تا به این قسمت از مطالب به مفاهیم زبان جاوا و مفاهیم شئ گرایی در جاوا در Itpro پرداختیم. ولی باید بگم که مطالبی که تا کنون توضیح دادیم مطالب پایه و اساسی زبان جاوا بودند. حال از این به بعد به بررسی مفاهیم پیشرفته تر در جاوا می پردازیم که هنگام تولید و ساختن یک برنامه بزرگ و اپلیکیشن مفید قابل استفاده خواهد بود. قسمت اولی که مورد بررسی خواهیم داد مکانیزم هایی است که برای دسته بندی و سازماندهی داده ها استفاده می شود. به این مکانیزم های Data structure گفته می شود که ترجمه فارسی آن داده ساختار است (بعضیا بهش میگن ساختمان داده ها که توی دانشگاه چند واحدشون رو براش میذارن :D) داده ساختارهایی که جاوا در درون خود دارد در پکیج utility قرار دارند و بسیار قدرتمند و پرکاربرد هستند. این داده ساختار ها عبارتند از:

  • Enumeration
  • BitSet
  • Vector
  • Stack
  • Dictionary
  • Hashtable
  • Propperties

همه این کلاس ها در جاوا وجود دارند و همه ی آنها برای نگهداری داده ها به شکل های گوناگون می باشند که به توضیح آنها خواهیم پرداخت. البته این ها داده ساختار های پیچیده زبان جاوا هستند. داده ساختار های ساده در جاوا عبارتند از متغیر ها و آرایه ها و ArrayList ها که قبلا به توضیح آنها در Itpro پرداخته ایم.

Enumeration

اینترفیس Enumeration به خودی خود یک داده ساختار نیست. اما در مجموعه داده ساختار ها بسیار مهم است. این اینترفیس یک ابزاری را برای استخراج داده های ترتیبی از یک داده ساختار را فراهم می کند. برای مثال اینترفیس Enumeration متد nextElement را تعریف می کند که این متد برای به دست آوردن عنصر بعدی از یک داده ساختار که چندین عنصر داردد به کار می رود. در کل این اینترفیس متدهایی را تعریف می کند که برای شمارش و استخراج یک به یک مجموعه داده به کار گرفته می شوند. این اینترفیس قدیمی است. اگرچه این اینترفیس منسوخ نشده است ولی در کدهای جدید مورد استفاده قرار نمی گیرد. اما این اینترفیس توسط کلاس هایی مثل Vector و Properties و برخی از کلاس های API ها مورد استفاده قرار می گیرد. متدهای اینترفیس Enumeration در ادامه آورده شده اند.

  • متد hasMoreElements این متد دارای مقدار بازگشتی Boolean است و هیچ ورودی را نمی گیرد. وظیفه این متد این است که مشخص می کند که داده های یک داده ساختار به اتمام رسیده اند یا خیر. به عبارت دیگر وقتی که شما این اینترفیس را پیاده سازی می کنید در این قسمت باید مشخص کنید که در داده ساختار مورد نظر همه ی داده ها را استخراج کرده ایم یا خیر.
  • متد nextElement این متد یک شئ object برمی گرداند و این شئ همان مقدار داده بعدی در داده ساختار مورد نظر است.برای مثال به برنامه زیر دقت کنید.

در برنامه زیر نحوه پیاده سازی و استفاده ازاین اینترفیس را نشان داده ایم.

import java.util.ArrayList;
import java.util.Enumeration;


public class Main {

    public static void main(String[] args) {
        Enumeration forums;
        ArrayList<String> itproCommunities=new ArrayList<>();
        itproCommunities.add("network");
        itproCommunities.add("programming");
        itproCommunities.add("security");
        itproCommunities.add("linux");
        itproCommunities.add("web");
        itproCommunities.add("dba");
        forums=new Enumerator(itproCommunities);
        while (forums.hasMoreElements()){
            System.out.println(forums.nextElement());
        }
    }
    static class Enumerator implements Enumeration<String>{
        private ArrayList<String> strings;
        int index;

        public Enumerator(ArrayList<String> strings) {
            this.strings = strings;
            index=0;
        }

        @Override
        public boolean hasMoreElements() {
            return index<strings.size();
        }

        @Override
        public String nextElement() {
            return strings.get(index++);
        }
    }
}

خروجی برنامه بالا به شکل زیر خواهد بود:

network
programming
security
linux
web
dba

نحوه عملکرد این اینترفیس بسیار شبه به iterator می باشد. که کار آن پیمایش داده های موجود در یک داده ساختار دیگر است.Itpro باشید

نویسنده: مهدی عادلی فر

منبع: جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

#داده_ساختار_ها_در_جاوا #برنامه_نویسی_جاوا #enumeration_در_جاوا #آموزش_برنامه_نویسی_جاوا #آموزش_ساختمان_داده #آموزش_جاوا #آموزش_گام_به_گام_جاوا #اینترفیس_enumerate #دوره_آموزشی_جاوا #ساختمان_داده
عنوان
1 آموزش جاوا (Java) قسمت 1 : معرفی ، خصوصیات و شروع به کار رایگان
2 آموزش جاوا (Java) قسمت 2 : شی گرایی قسمت یک رایگان
3 آموزش جاوا (Java) قسمت 3: شی گرایی قسمت دو رایگان
4 آموزش جاوا (Java) قسمت 4 : شی گرایی قسمت سه رایگان
5 آموزش جاوا (Java) قسمت 5 : انواع داده رایگان
6 آموزش جاوا (Java) قسمت 6 : انواع متغیر رایگان
7 آموزش جاوا (Java) قسمت 7 : Modifier ها رایگان
8 آموزش جاوا (Java) قسمت 8 : عملگرها قسمت یک رایگان
9 آموزش جاوا (Java) قسمت 9 : عملگرها قسمت دو رایگان
10 آموزش جاوا (Java) قسمت 10 : حلقه های تکرار رایگان
11 آموزش جاوا (Java) قسمت 11 : عبارات شرطی رایگان
12 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
13 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
14 آموزش جاوا (Java) قسمت 14: کلاس Wrapper کاراکترها رایگان
15 آموزش جاوا (Java) قسمت 15 : کلاس String و کار با رشته قسمت یک رایگان
16 آموزش جاوا (Java) قسمت 16 : کلاس String و کار با رشته قسمت دو رایگان
17 آموزش جاوا (Java) قسمت 17 : کلاس String و کار با رشته قسمت سه رایگان
18 آموزش جاوا (Java) قسمت 18 : کلاس String و کار با رشته قسمت چهار رایگان
19 آموزش جاوا (Java) قسمت 19 : StringBuilder و StringBuffer رایگان
20 آموزش جاوا (Java) قسمت 20 : استفاده از آرایه ها رایگان
21 آموزش جاوا (Java) قسمت 21 : آموزش کار با تاریخ رایگان
22 آموزش جاوا (Java) قسمت 22 : عبارات منظم (Regular Expression) رایگان
23 آموزش جاوا (Java) قسمت 23 : تعریف و استفاده از متدها قسمت یک رایگان
24 آموزش جاوا (Java) قسمت 24 : تعریف و استفاده از متدها قسمت دو رایگان
25 آموزش جاوا (Java) قسمت 25 : کار با استریم ها و فایل ها رایگان
26 آموزش جاوا (Java) قسمت 26 : کار با دایرکتوری ها رایگان
27 آموزش جاوا (Java) قسمت 27 : کلاس ByteArrayInputStream رایگان
28 آموزش جاوا (Java) قسمت 28 : معرفی کلاس File و متدها رایگان
29 آموزش جاوا (Java) قسمت 29 : معرفی و شرح Exception ها قسمت 1 رایگان
30 آموزش جاوا (Java) قسمت 30 : معرفی و شرح Exception ها قسمت 2 رایگان
31 آموزش جاوا (Java) قسمت 31 : معرفی و شرح Exception ها قسمت 3 رایگان
32 آموزش جاوا (Java) قسمت 32 : استفاده از انوع کلاس های داخلی رایگان
33 آموزش جاوا (Java) قسمت 33 : وراثت کلاس ها و انواع آن رایگان
34 آموزش جاوا (Java) قسمت 34 : Override کردن متد ها رایگان
35 آموزش جاوا (Java) قسمت 35 : چند ریختی (Polymorphism) رایگان
36 آموزش جاوا (Java) قسمت 36 : Enum و ویژگی های آن رایگان
37 آموزش جاوا (Java) قسمت 37 : معرفی Abstract رایگان
38 آموزش جاوا (Java) قسمت 38 : استفاده از کپسول بندی (Encapsulation) رایگان
39 آموزش جاوا (Java) قسمت 39 : استفاده از اینترفیس ها رایگان
40 آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده رایگان
41 آموزش جاوا (Java) قسمت 41 : معرفی داده ساختارها Enumeration رایگان
42 آموزش جاوا (Java) قسمت 42 : داده ساختار BitSet رایگان
43 آموزش جاوا (Java) قسمت 43 : داده ساختار Vector رایگان
44 آموزش جاوا (Java) قسمت 44 : داده ساختار Stack (پشته) رایگان
45 آموزش جاوا (Java) قسمت 45 : داده ساختار Dictionary رایگان
46 آموزش جاوا (Java) قسمت 46 : داده ساختار Hashtable رایگان
47 آموزش جاوا (Java) قسمت 47 : داده ساختار Properites رایگان
48 آموزش جاوا (Java) قسمت 48 : معرفی و آموزش جنریک (Generic) رایگان
49 آموزش جاوا (Java) قسمت 49 : برنامه نویسی سوکت و شبکه قسمت 1 رایگان
50 آموزش جاوا (Java) قسمت 50 : برنامه نویسی سوکت و شبکه قسمت 2 رایگان
51 آموزش جاوا (Java) قسمت 51 : استفاده از Lambda Expression رایگان
52 آموزش جاوا (Java) قسمت 52 : Thread و Multi-Threading رایگان
53 آموزش جاوا (Java) قسمت 53 : Runnable در Thread و Multi-Threading رایگان
54 آموزش جاوا (Java) قسمت 54 : کلاس Thread و متدها رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....