JavaRush /Блоги Java /Random-TG /Чӣ тавр истифода бурдани синфҳои коллексияи ArrayList, Ve...
ramhead
Сатҳи

Чӣ тавр истифода бурдани синфҳои коллексияи ArrayList, Vector ва HashMap, ки аз ҷониби Java Collections Framework пешниҳод шудааст

Дар гурӯҳ нашр шудааст
Дар ин мақола мо дар бораи се синфҳои муҳими коллексияи ArrayList , Vector ва HashMap аз Collections Framework меомӯзем ва ба истифодаи онҳо дар codeи худ шурӯъ мекунем. Чӣ тавр истифода бурдани синфҳои коллексияи ArrayList, Vector ва HashMap, ки аз ҷониби Java Collections Framework пешниҳод шудааст - 1Бо истифода аз синфҳои ҷамъоварӣ ArrayListва ҷамъоварӣ Vector, мо метавонем як гурӯҳи элементҳоро ҳамчун an objectҳои оддӣ нигоҳ дорем ва онҳоро бо усулҳои гуногуни дар ин синфҳо мавҷудбуда идора кунем. Дарсҳо 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ба 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 Listing 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
Биёед ба codeи боло, зина ба зина назар кунем. Дар ин барномаи намунавӣ мо як қатор сатрҳо дорем, ки унсурҳои онҳо номҳои китобҳои машҳур мебошанд. Ин усул mapAuthors()намоиши унвонҳои китобро бо муаллифони онҳо эҷод мекунад. Калидҳо дар ин ҷо унвонҳои китобҳо ва арзишҳо муаллифони он китобҳо мебошанд. Вақте ки усул даъват карда мешавад getBookList(), он дар массив такрор мешавад Booksва унвонҳои китобро як ба як мегирад. Баъдан, усул месанҷад, ки оё ягон китоб муаллифи худро дорад. Тавре ки мо мебинем, агар усул муаллифи китобро пайдо карда натавонад, паём нишон дода мешавад not available. Вагарна муаллиф ва китоби у як ба як намоиш дода мешаванд. Хулоса: Дар ин мақола мо каме дар бораи синфҳо - коллексияҳо омӯхтем ArrayListва Vectorкӯшиш HashMapкардем, ки онҳоро дар codeи худ истифода барем. Мақолаи аслӣ: Чӣ тавр истифода бурдани синфҳои ArrayList, Vector ва HashMap, ки аз ҷониби Java Collections Framework пешниҳод шудааст
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION