JavaRush /Java Blogu /Random-AZ /Java Collections Framework tərəfindən təmin edilən ArrayL...
ramhead
Səviyyə

Java Collections Framework tərəfindən təmin edilən ArrayList, Vector və HashMap kolleksiya siniflərindən necə istifadə etmək olar

Qrupda dərc edilmişdir
Bu yazıda biz Collections Framework- dən ArrayList , VectorHashMap üç mühüm kolleksiya sinfi haqqında öyrənəcəyik və onlardan öz kodumuzda istifadə etməyə başlayacağıq. Kolleksiya və kolleksiya siniflərindən istifadə edərək , bir qrup elementi sadə obyektlər kimi saxlaya və bu siniflərdə mövcud olan müxtəlif üsullardan istifadə edərək onları idarə edə bilərik. Dərslər və paketdən əldə edilə bilər . Başqa bir sinif, açar-dəyər xəritələrinin kolleksiyasını saxlamağa imkan verən paketdən əldə edilə bilən kolleksiyadır . Bu, açar məlum olduqda kolleksiyadan istədiyiniz dəyəri əldə etməyə imkan verir. Bu kolleksiya siniflərindən istifadə edən nümunələrə bir-bir baxaq. Nümunə 1. Bu nümunədə bir sinifdən istifadə edərək sadə proqram yazacağıq - ArrayList kolleksiyası Listing 1. İcra kodu, məsələn 1 Java Collections Framework tərəfindən təmin edilən ArrayList, Vector və HashMap kolleksiya siniflərindən necə istifadə etmək olar - 1ArrayListVectorArrayListVectorjava.utiljava.utilHashMap
// подключаем класс
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);
    }
}
Bu proqramı işə salmaq aşağıdakı nəticəni verəcəkdir:
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
Təqdim olunan nümunə proqramına addım-addım nəzər salaq. Bu nümunədə, proqramın ilk sətirində biz sinif kolleksiyasını idxal edirik ArrayList. favouriteCharactersSonra biz növbə ilə insanların adlarını və favouritelistkolleksiyanın nümunəsini ehtiva edən sətirlər massivini işə salırıq ArrayList. Metod includeCharacters(args)iki hissəyə bölünə bilər. Metodun birinci hissəsində bir döngədən istifadə edərək massivdən kolleksiyaya elementlər əlavə edilir. Bu halda elementlərin əlavə edilməsi ArrayListonların massivdə yerləşdiyi ardıcıllıqla həyata keçirilir. Bu, kolleksiyaya əlavə olunan elementlər üçün heç bir mövqe təyin etmədiyimiz üçün baş verir. Ancaq metodumuzun ikinci hissəsində indeksləşdirmədən istifadə edərək elementlər əlavə olunur. Bu halda, elementlər göstərilən dəqiq mövqedə kolleksiyaya əlavə olunur. Kolleksiyanın ortasına yeni element əlavə edildikdə ArrayList, həmin kolleksiyada artıq mövcud olan və yeni elementin müəyyən edilmiş əlavə mövqeyindən kənarda yerləşən elementlər öz mövqelərindən sonrakı mövqelərə köçürülür və beləliklə, kolleksiyanın ölçüsü artır. İlk olaraq çıxışa baxdıqda görəcəyik:
Total No of Characters in List: 10
Total No of Characters in Array: 8
Bunun səbəbi ona əlavə edilən 8 elementi olan massivdən əlavə ArrayList, biz açıq şəkildə daha 2 element əlavə edirik və beləliklə, kolleksiyanın ölçüsünü 10-a çatdırırıq. Metod getCharacterPosition(args)elementin (şəxsin adı) qiymətini alır və mövqeyi göstərir. kolleksiyada bu elementdən ArrayList. -də belə element yoxdursa ArrayList, onda -1 dəyəri göstərilir. Metod removeCharacter(args)ya həmin elementin indeksini, ya da elementin özünü arqument kimi götürərək, müəyyən edilmiş element dəyərini (şəxsin adını) kolleksiyadan çıxarır. Yuxarıdakı kodda kolleksiyamızdan 2 element çıxartdığımız üçün kolleksiyamızın ölçüsünün 10 əvəzinə 8 olduğunu görə bilərik. Massivin və kolleksiyanın ölçüləri eynidirsə, metod aşağıdakı sətirləri qaytarır:
The element Harry cannot be removed
The element Dumbledore cannot be removed
Metodun icrası removeCharacter(args)yalnız kolleksiyanın ölçüsünün massivin ölçüsündən böyük olması ilə şərtlənir. Nümunə 2. Bu nümunədə biz bir sinifdən istifadə edərək sadə proqram yazacağıq - kolleksiya Vector Siyahı 2. Məsələn 2 üçün icra kodu
// подключаем класс
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();
        }
}
Bu proqramı işə salmaq aşağıdakı nəticəni verəcəkdir:
The characters are Weasley
The characters are Potter
Yuxarıdakı kod yalnız kiçik bir nümunədir və kolleksiyalar ArrayListVector. Kolleksiya Vectorkolleksiya ilə eyni üsullarla idarə oluna bilər ArrayList. Nümunə 3. Bu nümunədə biz HashMap Listing 3 kolleksiya sinfindən istifadə edərək sadə proqram yazacağıq. Misal 3 üçün icra kodu
// подключаем класс
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();
    }
}
Bu proqramı işə salmaq aşağıdakı nəticəni verəcəkdir:
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
Yuxarıdakı koda addım-addım baxaq. Bu nümunə proqramda elementləri məşhur kitabların adları olan bir sıra sətirlərimiz var. Metod mapAuthors()müəllifləri ilə kitab adlarının görüntüsünü yaradır. Burada açarlar kitabların adları, dəyərlər isə həmin kitabların müəllifləridir. Metod çağırıldıqda getBookList()massivdə təkrarlanır Booksvə kitab adlarını bir-bir alır. Sonra, metod hər hansı bir kitabın öz müəllifinin olub olmadığını yoxlayır. Gördüyümüz kimi, metod kitabın müəllifini tapa bilmirsə, mesaj göstərilir not available. Əks halda müəllif və onun kitabı bir-bir nümayiş etdirilir. Nəticə: Bu yazıda biz siniflər - kolleksiyalar haqqında bir az öyrəndik ArrayListVectoronlardan HashMapöz kodumuzda istifadə etməyə çalışdıq. Orijinal məqalə: Java Collections Framework tərəfindən təmin edilən ArrayList, Vector və HashMap siniflərindən necə istifadə etmək olar
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION