JavaRush /Java Blog /Random-TL /Paano gamitin ang mga klase ng koleksyon ng ArrayList, Ve...
ramhead
Antas

Paano gamitin ang mga klase ng koleksyon ng ArrayList, Vector at HashMap na ibinigay ng Java Collections Framework

Nai-publish sa grupo
Sa artikulong ito, malalaman natin ang tungkol sa tatlong mahahalagang klase ng koleksyon ArrayList , Vector at HashMap mula sa Collections Framework at simulang gamitin ang mga ito sa sarili nating code. Как использовать классы - коллекции ArrayList, Vector и HashMap предоставляемые Java Collections Framework - 1Gamit ang mga klase sa koleksyon ArrayListat koleksyon Vector, maaari tayong mag-imbak ng isang pangkat ng mga elemento bilang mga simpleng bagay at manipulahin ang mga ito gamit ang iba't ibang pamamaraan na magagamit sa mga klase na ito. Mga klase ArrayListat Vectoravailable mula sa package java.util. Ang isa pang klase ay isang koleksyon, na makukuha mula sa package java.util, HashMapna nagbibigay-daan sa iyong mag-imbak ng koleksyon ng mga key-value mappings. Ginagawa nitong posible na makuha ang nais na halaga mula sa koleksyon kapag kilala ang susi. Tingnan natin ang mga halimbawa gamit ang mga klase ng koleksyon na ito nang paisa-isa. Halimbawa 1. Sa halimbawang ito, magsusulat kami ng isang simpleng programa gamit ang isang klase - ang Listahan ng koleksyon ng ArrayList 1. Execution code halimbawa 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);
    }
}
Ang pagpapatakbo ng program na ito ay gagawa ng sumusunod na output:
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
Tingnan natin ang halimbawang programa na ibinigay, hakbang-hakbang. Sa halimbawang ito, sa pinakaunang linya ng programa, ini-import namin ang class - collection ArrayList. Pagkatapos, salitan kami sa pagsisimula ng hanay ng mga string favouriteCharactersna naglalaman ng mga pangalan ng mga tao at favouritelistisang instance ng koleksyon ArrayList. Ang pamamaraan includeCharacters(args)ay maaaring nahahati sa dalawang bahagi. Sa unang bahagi ng pamamaraan, ang mga elemento ay idinagdag mula sa array sa koleksyon gamit ang isang loop. Sa kasong ito, ang pagdaragdag ng mga elemento sa ArrayListay ginagawa sa parehong pagkakasunud-sunod kung saan matatagpuan ang mga ito sa array. Nangyayari ito dahil hindi namin tinukoy ang anumang mga posisyon para sa mga elemento na idinagdag sa koleksyon. Ngunit sa ikalawang bahagi ng aming pamamaraan, ang mga elemento ay idinagdag gamit ang pag-index. Sa kasong ito, ang mga elemento ay idinagdag sa koleksyon sa eksaktong posisyon na tinukoy. Kapag ang isang bagong elemento ay idinagdag sa gitna ng isang koleksyon ArrayList, ang mga elementong umiiral na sa koleksyong iyon na matatagpuan sa kabila ng tinukoy na posisyon ng pagpasok ng bagong elemento ay inililipat sa mga kasunod na posisyon mula sa kanilang sarili, kaya nadaragdagan ang laki ng koleksyon. Kung titingnan muna natin ang output, makikita natin:
Total No of Characters in List: 10
Total No of Characters in Array: 8
Все потому, что помимо массива, имеющего 8 элементов, которые добавляются в ArrayList, мы явно добавляем еще 2 element, таким образом увеличивая размер коллекции до 10. Метод getCharacterPosition(args) принимает meaning element(Name человека) и выводит позицию этого element в коллекции ArrayList. Если такого element нет в ArrayList, то выводится meaning -1. Метод removeCharacter(args) удаляет указанное meaning element(Name человека) из коллекции, принимая в качестве аргумента либо индекс этого элемент, либо сам элемент. В вышеприведенном codeе, мы можем заметить, что размер нашей коллекции стал equals 8, instead of 10, по причине того, что мы удалor 2 element из коллекции. Если же размеры массива и коллекции совпадают, то метод возвращает следующие строки:
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
Вышеприведенный code, является всего лишь небольшим образцом, приведенным в качестве доказательства того, что нет большой разницы между коллекциями ArrayList и Vector. Коллекцией Vector можно манипулировать также, How и коллекцией ArrayList, используя те же методы. Пример 3. В этом примере мы напишем простую программу с использованием класса — коллекции HashMap Листинг 3. Код выполнения примера 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 и получает по очереди названия книг. Далее метод проверяет имеет ли Howая-нибудь книга своего автора. Как мы можем заметить, если метод не может найти автора книги, то выводится сообщение not available. В противном случае выводится один за другим автор и его книга. Заключение: В приведенной статье, мы немного изучor классы — коллекции ArrayList, Vector, HashMap и попробовали использовать их в собственном codeе. Оригинал статьи: How to use ArrayList, Vector and HashMap classes provided by Java Collections Framework
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION