JavaRush /وبلاگ جاوا /Random-FA /نحوه استفاده از کلاس های مجموعه ArrayList، Vector و HashM...
ramhead
مرحله

نحوه استفاده از کلاس های مجموعه ArrayList، Vector و HashMap ارائه شده توسط Java Collections Framework

در گروه منتشر شد
در این مقاله، با سه کلاس مجموعه مهم ArrayList ، Vector و HashMap از Framework Collections آشنا می شویم و شروع به استفاده از آنها در کد خود می کنیم. نحوه استفاده از کلاس های مجموعه ArrayList، Vector و HashMap ارائه شده توسط Java Collections Framework - 1با استفاده از کلاس های مجموعه ArrayListو مجموعه Vector، می توانیم گروهی از عناصر را به عنوان اشیاء ساده ذخیره کنیم و با استفاده از روش های مختلف موجود در این کلاس ها، آنها را دستکاری کنیم. کلاس ها ArrayListو Vectorاز بسته موجود است java.util. کلاس دیگر مجموعه ای است که از بسته موجود است java.util، این یکی HashMap، که به شما امکان می دهد مجموعه ای از نگاشت های کلید-مقدار را ذخیره کنید. این امکان به دست آوردن مقدار مورد نظر از یک مجموعه را در زمانی که کلید شناخته شده است را ممکن می سازد. بیایید نمونه هایی را با استفاده از این کلاس های مجموعه یک به یک بررسی کنیم. مثال 1. در این مثال، یک برنامه ساده با استفاده از یک کلاس می نویسیم - مجموعه ArrayList Listing 1. کد اجرایی برای مثال 1
// подключаем класс
import java.util.ArrayList;
public class ArrayListExample {
  static String[] favouriteCharacters = {"Harry", "Ron", "Hermione",  "Snape", "Dumbledore", "Moody", "Riddle", "Fred"};
   int i;
   public ArrayList favouritelist = new ArrayList();
// метод добавляет элементы ‘favouriteCharacters’ в ‘favouritelist’
 private void includeCharacters(String[]favouriteCharacters)
       {
        for (i = 0; i < favouriteCharacters.length; i++) {
            // добавление элементов по одному из массива ‘favouriteCharacters’
            favouritelist.add(favouriteCharacters[i]);
            printCharacters(i);
        }
// добавление элементов, посредством указания позиций
        favouritelist.add(1, "george");
        favouritelist.add(4, "Peter");
    }
// метод выводит элемент ‘favouritelist’ по указанной позиции
    private void printCharacters(int i) {
        System.out.println("Character " + (i + 1) + ":" + favouritelist.get(i));
    }
// метод выводит все элементы ‘favouritelist’
    private void printCharacters() {
        System.out.println("\n");
        for(int i=0;i<favouritelist.size();i++){
        System.out.println("Character" + (i + 1) + ":" + favouritelist.get(i));
    }    }
// метод возвращает размер коллекции ‘favouritelist’
    private int sizeofCharactersList() {
        System.out.println("\n");
        System.out.println("Total No of Characters in Array:" + favouriteCharacters.length);
        System.out.println("Total No of Characters in List:" + favouritelist.size());
        return favouritelist.size();
    }
// метод выводит позицию element ‘favouritelist’ по указанному имени
 public void getCharacterPostion(String characterName) {
     System.out.println("\n");
        System.out.println("The position of the character\t" + characterName + "\tis\t" + favouritelist.indexOf(characterName));
    }
// метод удаляет элемент ‘favouritelist’ по указанному имени
    public void removeCharacter(String characterName) {
        if(favouritelist.size()>favouriteCharacters.length){
        favouritelist.remove(characterName);
        }
        else{
             System.out.println("\n");
             System.out.println("The element\t"+favouritelist.get(favouritelist.indexOf(characterName))+"\tcannot be removed");
        }
        }
// метод удаляет элемент ‘favouritelist’ по указанной позиции
    public void removeCharacter(int i) {
        if(favouritelist.size()>favouriteCharacters.length){
        favouritelist.remove(i);
          }
        else{
            System.out.println("The element\t"+favouritelist.get(i)+"\tcannot be removed");
        }
    }
    public static void main(String args[]) {
        ArrayListExample example = new ArrayListExample();
        example.includeCharacters(favouriteCharacters);
        example.printCharacters();
        int size = example.sizeofCharactersList();
        example.getCharacterPostion("Ron");
        example.removeCharacter("Snape");
        example.removeCharacter(2);
        example.sizeofCharactersList();
        example.removeCharacter("Harry");
         example.removeCharacter(4);
    }
}
با اجرای این برنامه خروجی زیر تولید می شود:
Character 1:Harry
Character 2:Ron
Character 3:Hermione
Character 4:Snape
Character 5:Dumbledore
Character 6:Moody
Character 7:Riddle
Character 8:Fred


Character1:Harry
Character2:george
Character3:Ron
Character4:Hermione
Character5:Peter
Character6:Snape
Character7:Dumbledore
Character8:Moody
Character9:Riddle
Character10:Fred


Total No of Characters in Array:8
Total No of Characters in List:10


The position of the character	Ron	is	2


Total No of Characters in Array:8
Total No of Characters in List:8


The element	Harry	cannot be removed
The element	Dumbledore	cannot be removed
بیایید به نمونه برنامه ارائه شده، قدم به قدم نگاه کنیم. در این مثال، در همان خط اول برنامه، کلاس - مجموعه را وارد می کنیم ArrayList. سپس، به نوبت آرایه‌ای از رشته‌های favouriteCharactersحاوی نام افراد و favouritelistنمونه‌ای از مجموعه را مقداردهی اولیه می‌کنیم ArrayList. روش را includeCharacters(args)می توان به دو بخش تقسیم کرد. در قسمت اول روش، عناصر از آرایه با استفاده از یک حلقه به مجموعه اضافه می شوند. در این حالت افزودن عناصر ArrayListبه همان ترتیبی که در آرایه قرار دارند انجام می شود. این به این دلیل است که ما هیچ موقعیتی برای عناصری که به مجموعه اضافه می شوند تعریف نمی کنیم. اما در قسمت دوم روش ما، عناصر با استفاده از نمایه سازی اضافه می شوند. در این حالت، عناصر در محل دقیق مشخص شده به مجموعه اضافه می شوند. هنگامی که یک عنصر جدید به وسط یک مجموعه اضافه می شود ArrayList، عناصر موجود در آن مجموعه که فراتر از موقعیت درج مشخص شده عنصر جدید قرار دارند، به موقعیت های بعدی از موقعیت خود منتقل می شوند، بنابراین اندازه مجموعه افزایش می یابد. وقتی ابتدا به خروجی نگاه می کنیم، خواهیم دید:
Total No of Characters in List: 10
Total No of Characters in Array: 8
این به این دلیل است که علاوه بر این که آرایه دارای 8 عنصر است که به اضافه می شوند ArrayList، ما به صراحت 2 عنصر دیگر اضافه می کنیم، بنابراین اندازه مجموعه را به 10 افزایش می دهیم. این روش getCharacterPosition(args)مقدار یک عنصر (نام شخص) را می گیرد و موقعیت را نشان می دهد. این عنصر در مجموعه ArrayList. اگر چنین عنصری در وجود نداشته باشد ArrayList، مقدار -1 نمایش داده می شود. این روش removeCharacter(args)مقدار عنصر مشخص شده (نام شخص) را از مجموعه حذف می کند و یا شاخص آن عنصر یا خود عنصر را به عنوان آرگومان می گیرد. در کد بالا متوجه می شویم که حجم مجموعه ما به دلیل حذف 2 عنصر از مجموعه به جای 10، 8 شده است. اگر اندازه آرایه و مجموعه یکسان باشد، متد خطوط زیر را برمی‌گرداند:
The element Harry cannot be removed
The element Dumbledore cannot be removed
اجرای روش removeCharacter(args)فقط مشروط به این واقعیت است که اندازه مجموعه باید بزرگتر از اندازه آرایه باشد. مثال 2. در این مثال ما یک برنامه ساده با استفاده از یک کلاس می نویسیم - یک مجموعه Vector لیست 2. کد اجرایی برای مثال 2
// подключаем класс
import java.util.Vector;
public class VectorExample {
    Vector vector=new Vector();
    public void addCharacterandPrint(){
        vector.add("Weasley");
        vector.add("Potter");
        for(int i=0;i<vector.size();i++){
        System.out.println("The characters are\t"+vector.get(i));
        }
    }
    public static void main(String args[]){
        VectorExample example=new VectorExample();
        example.addCharacterandPrint();
        }
}
با اجرای این برنامه خروجی زیر تولید می شود:
The characters are Weasley
The characters are Potter
کد بالا فقط یک نمونه کوچک است که نشان می دهد تفاوت زیادی بین مجموعه ها ArrayListو Vector. مجموعه را Vectorمی توان به همان روشی که مجموعه ArrayListبا استفاده از همان روش ها دستکاری کرد. مثال 3. در این مثال، یک برنامه ساده با استفاده از کلاس مجموعه Listing 3 می نویسیم. HashMap کد اجرایی برای مثال 3
// подключаем класс
import java.util.HashMap;
public class HashMapExample {
    HashMap hashMap=new HashMap();
    String Books[]={"Famous Five","Goosebumps","Robinson Crusueo","Nancy Drew","The Cell","The Davinci Code","Harry Potter"};
    public void mapAuthors(){
        hashMap.put("Famous Five","Enid Blyton");
        hashMap.put("Goosebumps","R.L.Stine");
        hashMap.put("Nancy Drew","Carolyn Keene");
        hashMap.put("The Cell","Christopher Pike");
        hashMap.put("The Davinci Code","Dan Brown");
        hashMap.put("Harry Potter","J.K. Rowling");
    }
    public void getBookList(){
        for(int i=0;i<Books.length;i++){
            if(hashMap.containsKey(Books[i])){
                System.out.println("Author"+(i+1)+":\t"+hashMap.get(Books[i])+"\t"+Books[i]);
            }
            else{
                System.out.println("\nThe Imformation about the author of the book\t"+Books[i]+"\tis not available\n");
            }
        }
    }
    public static void main(String args[]){
        HashMapExample hashMapExample=new HashMapExample();
        hashMapExample.mapAuthors();
        hashMapExample.getBookList();
    }
}
با اجرای این برنامه خروجی زیر تولید می شود:
Author1: Enid Blyton Famous Five
Author2: R.L.Stine Goosebumps
The Information about the author of the book Robinson Crusueo is not available
Author4: Carolyn Keene Nancy Drew
Author5: Christopher Pike The Cell
Author6: Dan Brown The Davinci Code
Author7: J.K. Rowling Harry Potter
بیایید گام به گام به کد بالا نگاه کنیم. در این برنامه نمونه، آرایه ای از رشته ها داریم که عناصر آن نام کتاب های معروف است. این روش mapAuthors()نمایشی از عناوین کتاب با نویسندگان آنها ایجاد می کند. کلیدهای اینجا عناوین کتاب ها هستند و ارزش ها نویسندگان آن کتاب ها هستند. هنگامی که متد فراخوانی می شود getBookList()، از طریق آرایه تکرار می شود Booksو عناوین کتاب را یکی یکی می گیرد. سپس، این روش بررسی می‌کند که آیا هر کتابی نویسنده خودش را دارد یا خیر. همانطور که می بینیم، اگر روش نتواند نویسنده کتاب را پیدا کند، پیام نمایش داده می شود not available. در غیر این صورت نویسنده و کتابش یکی یکی نمایش داده می شود. نتیجه گیری: در این مقاله کمی در مورد کلاس ها - مجموعه ها مطالعه کردیم ArrayListو Vectorسعی HashMapکردیم از آنها در کد خود استفاده کنیم. مقاله اصلی: نحوه استفاده از کلاس های ArrayList، Vector و HashMap ارائه شده توسط Java Collections Framework
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION