JavaRush /Java blogi /Random-UZ /Java Collections Framework tomonidan taqdim etilgan Array...
ramhead
Daraja

Java Collections Framework tomonidan taqdim etilgan ArrayList, Vector va HashMap to'plam sinflaridan qanday foydalanish kerak

Guruhda nashr etilgan
Ushbu maqolada biz Collections Framework- dan ArrayList , Vector va HashMap to'plamlarining uchta muhim sinflari haqida bilib olamiz va ularni o'z kodimizda ishlatishni boshlaymiz. To'plam va yig'ish sinflaridan foydalanib , biz elementlar guruhini oddiy ob'ektlar sifatida saqlashimiz va ularni ushbu sinflarda mavjud bo'lgan turli usullar yordamida boshqarishimiz mumkin. Sinflar va paketdan mavjud . Yana bir sinf - bu to'plamdan mavjud bo'lgan to'plam , bu sizga kalit-qiymat xaritalari to'plamini saqlash imkonini beradi. Bu kalit ma'lum bo'lganda to'plamdan kerakli qiymatni olish imkonini beradi. Keling, ushbu to'plam sinflaridan foydalangan holda misollarni birma-bir ko'rib chiqaylik. 1-misol. Bu misolda biz oddiy dasturni sinf yordamida yozamiz - ArrayList to'plami Listing 1. Bajarish kodi, masalan 1 Java Collections Framework tomonidan taqdim etilgan ArrayList, Vector va HashMap to'plam sinflaridan qanday foydalanish kerak - 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);
    }
}
Ushbu dasturni ishga tushirish quyidagi natijalarni beradi:
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
Keling, taqdim etilgan misol dasturini bosqichma-bosqich ko'rib chiqaylik. Ushbu misolda, dasturning birinchi qatorida biz sinf - kolleksiyani import qilamiz ArrayList. favouriteCharactersKeyin, biz navbatma-navbat odamlar ismlarini va favouritelistto'plamning namunasini o'z ichiga olgan qatorlar qatorini ishga tushiramiz ArrayList. Usulni includeCharacters(args)ikki qismga bo'lish mumkin. Usulning birinchi qismida elementlar massivdan to'plamga tsikl yordamida qo'shiladi. Bunday holda, elementlarni qo'shish ArrayListmassivda qanday joylashgan bo'lsa, xuddi shunday tartibda amalga oshiriladi. Buning sababi, biz to'plamga qo'shilgan elementlar uchun hech qanday pozitsiyani belgilamaymiz. Ammo bizning usulimizning ikkinchi qismida elementlar indekslash yordamida qo'shiladi. Bunday holda, elementlar to'plamga aniq belgilangan joyga qo'shiladi. To'plamning o'rtasiga yangi element qo'shilsa ArrayList, ushbu to'plamda mavjud bo'lgan yangi elementning belgilangan joylashuvidan tashqarida joylashgan elementlar o'zlarining keyingi pozitsiyalariga o'tkaziladi va shu bilan to'plam hajmini oshiradi. Chiqishni birinchi bo'lib ko'rib chiqsak, biz quyidagilarni ko'ramiz:
Total No of Characters in List: 10
Total No of Characters in Array: 8
Buning sababi shundaki, ga qo'shilgan 8 ta elementga ega bo'lgan massivga qo'shimcha ravishda ArrayListbiz yana 2 ta elementni qo'shamiz va shu bilan to'plam hajmini 10 ga oshiramiz. Usul getCharacterPosition(args)elementning (odamning ismi) qiymatini oladi va pozitsiyani ko'rsatadi. to'plamdagi ushbu elementning ArrayList. Agarda bunday element bo'lmasa ArrayList, u holda -1 qiymati ko'rsatiladi. Usul removeCharacter(args)ko'rsatilgan element qiymatini (shaxsning ismi) to'plamdan olib tashlaydi va argument sifatida ushbu elementning indeksini yoki elementning o'zini oladi. Yuqoridagi kodda biz to'plamdan 2 ta elementni olib tashlaganimiz sababli kollektsiyamiz hajmi 10 o'rniga 8 ga aylanganini ko'rishimiz mumkin. Agar massiv va to'plamning o'lchamlari bir xil bo'lsa, usul quyidagi qatorlarni qaytaradi:
The element Harry cannot be removed
The element Dumbledore cannot be removed
Usulning bajarilishi removeCharacter(args)faqat yig'ish hajmi massiv hajmidan kattaroq bo'lishi kerakligi bilan shartlanadi. 2-misol. Bu misolda biz sinf yordamida oddiy dastur yozamiz - to'plam Vector Listing 2. Bajarish kodi misol uchun 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();
        }
}
Ushbu dasturni ishga tushirish quyidagi natijalarni beradi:
The characters are Weasley
The characters are Potter
Yuqoridagi kod shunchaki kichik namuna bo'lib, to'plamlar ArrayListva Vector. To'plam xuddi shu usullardan foydalangan holda Vectorto'plam bilan bir xil tarzda boshqarilishi mumkin . ArrayListMisol 3. Ushbu misolda biz HashMap Listing 3 yig'ish sinfidan foydalangan holda oddiy dastur yozamiz. 3-misol uchun bajarilish kodi.
// подключаем класс
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();
    }
}
Ushbu dasturni ishga tushirish quyidagi natijalarni beradi:
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
Keling, yuqoridagi kodni bosqichma-bosqich ko'rib chiqaylik. Ushbu misol dasturda bizda elementlari mashhur kitoblarning nomlari bo'lgan qatorlar mavjud. Usul mapAuthors()mualliflari bilan kitob nomlari ko'rinishini yaratadi. Bu erda kalitlar kitoblarning nomlari va qadriyatlar bu kitoblarning mualliflari. Usul chaqirilganda getBookList(), u massiv bo'ylab takrorlanadi Booksva kitob nomlarini birma-bir oladi. Keyinchalik, usul har qanday kitobning o'z muallifi borligini tekshiradi. Ko'rib turganimizdek, agar usul kitob muallifini topa olmasa, u holda xabar ko'rsatiladi not available. Aks holda, muallif va uning kitobi birin-ketin namoyish etiladi. Xulosa: Ushbu maqolada biz sinflar haqida bir oz o'rganib chiqdik - to'plamlar ArrayList, Vectorva HashMapularni o'z kodimizda ishlatishga harakat qildik. Asl maqola: Java Collections Framework tomonidan taqdim etilgan ArrayList, Vector va HashMap sinflaridan qanday foydalanish
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION