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

و

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

آموزش جاوا (Java) قسمت 43 : داده ساختار Vector

با سلام به همه دوستان و همراهان Itpro. در ادامه مباحث داده ساختار های موجود در جاوا در این مطلب به بررسی داده ساختار Vector خواهیم پرداخت. کلاس vector بسیار شبیه به آرایه ها در جاوا می باشد. تفاوتی که این داده ساختار با آرایه دارد این است که طول آرایه ثابت است ولی این داده ساختار می تواند بزرگ تر شود و داده های بیشتری را در خود جای دهد. مانند آرایه ها عناصر vector می تواند توسط اندیس مورد دسترسی قرار بگیرد. چیزی که در این داده ساختار وجود دارد این است که شما نگران جا برای عناصر نخواهید بود. اندازه داده ساختار vector به صورت اتوماتیک و هروقت که لازم باشد کوچک و بزرگ می شود. وکتور شامل بسیاری از متدهای قدیمی می باشد که در حال حاضر در مجموعه ها وجود ندارد. وقتی که شما اندازه آرایه را نمی دانید و می خواهید در زمان اجرا بتوانید به راحتی اندازه آرایه را کم یا زیاد کنید این داده ساختار می تواند بسیار مناسب باشد. کلاس Vector دارای چندین contructor است که عبارتند از

  • constructor بدون ورودی: در این نوع constructor یک وکتور پیش فرض ساخته می شود که اندازه اولیه آن 10 می باشد.
  • constructor با یک ورودی int.: در این constructor وکتور یک مقدار عددی دریافت می کند که اندازه اولیه وکتور را مشخص می کند.
  • constructor با دو ورودی int: در این نوع constructor یک وکتور ساخته می شود که اندازه اولیه آن برابر همان ورودی اول می باشد و ورودی دوم برای این است که اگر زمانی همه ی خانه های وکتور پر شدند چندخانه به فضای کنونی وکترو اضافه گردد.
  • constructor با یک ورودی از کلاس collection. یک وکتور در این نوع ساخته می شود که همه ی عناصر موجود در کلاس collection را دارا می باشد.

متدهای کلاس Vector

کلاس vector دارای متدهای زیر می باشد.:

  • متد add: این متد دارای دو ورودی است یکی عددی و دیگری object. ورودی عددی نشانگر اندیس و object ورودی نشان دهنده داده مورد نظر است. وظیفه این متد این است که داده مورد نظر را در اندیس مشخص شده در vector درج می نماید. یک نوع دیگر این متد فقط یک ورودی دارد و آن هم یک object است که در انتهای vector درج می شود.
  • متد addAll. این متد دارای دو شکل گوناگون است که در یکی فقط یک شئ از کلاس collection به عنوان ورودی دریافت می کنیم و در دیگری یک عدد به عنوان اندیس نیز علاوه بر آن شئ collection نیز دریافت می کند. وظیفه این متد این است که عناصر موجود در شئ collection را در vector درج می کند. اگر ما با اندیس مشخص کرده باشیم که عناصر در کجا درج شوند در آن نقطه درج خواهند شد و در غیر این صورت در انتهای vector درج می شوند.
  • متد addElement: این متد یک ورودی object دارد که آن را به انتهای وکتور اضافه می کند و اندازه وکتور را یکی بیشتر می کند.
  • متد capacity: این متد ظرفیت کنونی وکتور را نشان می دهد.
  • متد clear: این متد همه ی عناصر موجود در وکتور را پاک می کند.
  • متد contains: این متد یک شئ را به عنوان ورودی می گیرد و مشخص می کند که شئ ورودی در داخل وکتور موجود می باشد یا نه.
  • متد containsAll: این متد یک شئ از کلاس collection را دریافت می کند که مجموعه ای از اشیاء دیگر است سپس چک می کند که همه ی اشیاء در وکتور موجود هستند یا خیر.
  • متد copyInto: این متد یک آرایه را به عنوان ورودی دریافت می کند و همه ی عناصر وکتور را در درون آرایه ورودی کپی می کند.
  • متد elementAt: این متد یک اندیس ورودی دارد و عنصر موجود در آن اندیس را برمی گرداند.
  • متد elements: این متد یک Enumeration برمی گرداند که می توان با استفاده از حلقه به همه ی اعضای وکتور دسترسی داشت.
  • متد firstElement: این متد اولنی عنصر از وکتور (عنصر با اندیس 0 را برمی گرداند).
  • متد get: این متد یک اندیس را گرفته و عنصر متناسب با آن اندیس را برمی گرداند.
  • متد indexOf: این متد یک شئ را به عنوان ورودی دریافت می کند و آن شئ را در داخل وکتور جستجو می کند و وقتی که شئ مورد نظر را پیدا کرد اندیس آن را به عنوان نتیجه برمی گرداند. این متد همچنین یک شکل دیگر هم دارد که علاوه بر شئ ورودی یک عدد نیز می گیرد که آن عدد اندیس محل شروع جستجو می باشد و از آن اندیس به بعد در وکتور به دنبال شئ مورد نظر می گردد. اگر بخواهیم که این متد از آخر به اول جستجو را انجام دهد و اندیس آخر شئ پیدا شده را به ما بدهد از متد lastIndexOf استفاده می کنیم که این متد نیز دقیقا مانند متد indexOf می باشد.
  • متد isEmpty: این متد مشخص می کند که وکتور خالی است یا خیر.
  • متد remove این متد یک اندیس دریافت کرده و شئ مورد نظر را از وکتور حذف می کند و همچنین آن شئ را برمی گرداند. همچنین این متد شکلی دیگر دارد که یک شئ را دریافت کرده و در وکتور به دنبال آن می گردد و اگر شئ مورد نظر پیدا شد و حذف شد مقدار true برمی گرداند.
  • متد trimToSize: این متد ظرفیت وکتور را با تعداد عناصر آن یکی می کند. به عبارتی خانه های خالی را از ظرفیت آن حذف می کند.
  • متد set: این متد یک اندیس و یک شئ می گیرد و شئ گرفته شده را با عنصر موجود در آن اندیس وکتور جایگزین می کند.

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

import java.util.*;

public class VectorDemo {

   public static void main(String args[]) {
      // initial size is 3, increment is 2
      Vector v = new Vector(3, 2);
      System.out.println("Initial size: " + v.size());
      System.out.println("Initial capacity: " +
      v.capacity());
      v.addElement(new Integer(1));
      v.addElement(new Integer(2));
      v.addElement(new Integer(3));
      v.addElement(new Integer(4));
      System.out.println("Capacity after four additions: " +
          v.capacity());

      v.addElement(new Double(5.45));
      System.out.println("Current capacity: " +
      v.capacity());
      v.addElement(new Double(6.08));
      v.addElement(new Integer(7));
      System.out.println("Current capacity: " +
      v.capacity());
      v.addElement(new Float(9.4));
      v.addElement(new Integer(10));
      System.out.println("Current capacity: " +
      v.capacity());
      v.addElement(new Integer(11));
      v.addElement(new Integer(12));
      System.out.println("First element: " +
         (Integer)v.firstElement());
      System.out.println("Last element: " +
         (Integer)v.lastElement());
      if(v.contains(new Integer(3)))
         System.out.println("Vector contains 3.");
      // enumerate the elements in the vector.
      Enumeration vEnum = v.elements();
      System.out.println("\nElements in vector:");
      while(vEnum.hasMoreElements())
         System.out.print(vEnum.nextElement() + " ");
      System.out.println();
   }
}

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

Initial size: 0
Initial capacity: 3
Capacity after four additions: 5
Current capacity: 5
Current capacity: 7
Current capacity: 9
First element: 1
Last element: 12
Vector contains 3.

Elements in vector:
1 2 3 4 5.45 6.08 7 9.4 10 11 12

Itpro باشید

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

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

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

#داده_ساختار_ها_در_جاوا #برنامه_نویسی_جاوا #وکتور_در_جاوا #آموزش_برنامه_نویسی_جاوا #آموزش_ساختمان_داده #آموزش_جاوا #آموزش_گام_به_گام_جاوا #ساختمان_داده_ها_در_جاوا #دوره_آموزشی_جاوا #vector_در_جاوا
عنوان
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 نظر

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

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

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