JavaRush /Blog Java /Random-MS /Cara menggunakan kelas koleksi ArrayList, Vector dan Hash...
ramhead
Tahap

Cara menggunakan kelas koleksi ArrayList, Vector dan HashMap yang disediakan oleh Rangka Kerja Koleksi Java

Diterbitkan dalam kumpulan
Dalam artikel ini, kami akan mempelajari tentang tiga kelas koleksi penting ArrayList , Vector dan HashMap daripada Rangka Kerja Koleksi dan mula menggunakannya dalam kod kami sendiri. Cara menggunakan kelas koleksi ArrayList, Vector dan HashMap yang disediakan oleh Java Collections Framework - 1Menggunakan kelas koleksi ArrayListdan koleksi Vector, kita boleh menyimpan sekumpulan elemen sebagai objek mudah dan memanipulasinya menggunakan pelbagai kaedah yang tersedia dalam kelas ini. Kelas ArrayListdan Vectorboleh didapati daripada pakej java.util. Kelas lain ialah koleksi, tersedia daripada pakej java.util, HashMapyang membolehkan anda menyimpan koleksi pemetaan nilai kunci. Ini memungkinkan untuk mendapatkan nilai yang dikehendaki daripada koleksi apabila kunci diketahui. Mari kita lihat contoh menggunakan kelas koleksi ini satu demi satu. Contoh 1. Dalam contoh ini, kami akan menulis atur cara mudah menggunakan kelas - Penyenaraian koleksi ArrayList 1. Kod pelaksanaan contohnya 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);
    }
}
Menjalankan program ini akan menghasilkan output berikut:
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
Mari kita lihat contoh program yang disediakan, langkah demi langkah. Dalam contoh ini, dalam baris pertama program, kami mengimport class - collection ArrayList. Kemudian, kami bergilir-gilir memulakan tatasusunan rentetan favouriteCharactersyang mengandungi nama orang dan favouritelistcontoh koleksi ArrayList. Kaedah includeCharacters(args)boleh dibahagikan kepada dua bahagian. Dalam bahagian pertama kaedah, elemen ditambah daripada tatasusunan ke koleksi menggunakan gelung. Dalam kes ini, menambah elemen kepada ArrayListdilakukan dalam susunan yang sama di mana ia terletak dalam tatasusunan. Ini berlaku kerana kami tidak menentukan sebarang kedudukan untuk elemen yang ditambahkan pada koleksi. Tetapi dalam bahagian kedua kaedah kami, elemen ditambah menggunakan pengindeksan. Dalam kes ini, elemen ditambahkan pada koleksi pada kedudukan tepat yang ditentukan. Apabila elemen baharu ditambahkan pada bahagian tengah koleksi ArrayList, elemen yang sudah sedia ada dalam koleksi itu yang terletak di luar kedudukan sisipan elemen baharu yang ditentukan akan dialihkan ke kedudukan seterusnya daripada mereka sendiri, sekali gus meningkatkan saiz koleksi. Apabila kita melihat output dahulu, kita akan melihat:
Total No of Characters in List: 10
Total No of Characters in Array: 8
Ini kerana sebagai tambahan kepada tatasusunan yang mempunyai 8 elemen, yang ditambah kepada ArrayList, kami secara eksplisit menambah 2 lagi elemen, sekali gus meningkatkan saiz koleksi kepada 10. Kaedah ini getCharacterPosition(args)mengambil nilai elemen (nama orang) dan memaparkan kedudukan elemen ini dalam koleksi ArrayList. Jika tiada unsur sedemikian dalam ArrayList, maka nilai -1 dipaparkan. Kaedah removeCharacter(args)mengalih keluar nilai elemen yang ditentukan (nama orang) daripada koleksi, mengambil sebagai hujah sama ada indeks elemen itu atau elemen itu sendiri. Dalam kod di atas, kami dapat melihat bahawa saiz koleksi kami telah menjadi 8 dan bukannya 10 disebabkan fakta bahawa kami telah mengalih keluar 2 elemen daripada koleksi. Jika saiz tatasusunan dan koleksi adalah sama, maka kaedah mengembalikan baris berikut:
The element Harry cannot be removed
The element Dumbledore cannot be removed
Pelaksanaan kaedah removeCharacter(args)hanya dikondisikan oleh fakta bahawa saiz koleksi mestilah lebih besar daripada saiz tatasusunan. Contoh 2. Dalam contoh ini kita akan menulis atur cara mudah menggunakan kelas - senarai koleksi Vector 2. Kod pelaksanaan contohnya 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();
        }
}
Menjalankan program ini akan menghasilkan output berikut:
The characters are Weasley
The characters are Potter
Kod di atas hanyalah sampel kecil, disediakan sebagai bukti bahawa tidak banyak perbezaan antara koleksi ArrayListdan Vector. Koleksi Vectorboleh dimanipulasi dengan cara yang sama seperti koleksi ArrayList, menggunakan kaedah yang sama. Contoh 3. Dalam contoh ini, kami akan menulis atur cara mudah menggunakan Penyenaraian kelas koleksi HashMap 3. Kod pelaksanaan untuk Contoh 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();
    }
}
Menjalankan program ini akan menghasilkan output berikut:
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
Mari lihat kod program di atas, langkah demi langkah. Dalam program contoh ini, kami mempunyai tatasusunan rentetan yang unsur-unsurnya ialah nama buku terkenal. Kaedah ini mapAuthors()mencipta paparan tajuk buku dengan pengarangnya. Kunci di sini ialah tajuk buku, dan nilainya adalah pengarang buku tersebut. Apabila kaedah dipanggil getBookList(), ia berulang melalui tatasusunan Booksdan mendapat tajuk buku satu demi satu. Seterusnya, kaedah menyemak sama ada mana-mana buku mempunyai pengarangnya sendiri. Seperti yang dapat kita lihat, jika kaedah tidak dapat mencari pengarang buku, maka mesej dipaparkan not available. Jika tidak, penulis dan bukunya dipaparkan satu persatu. Kesimpulan: Dalam artikel ini, kami mempelajari sedikit tentang kelas - collections ArrayList, Vector, HashMapdan cuba menggunakannya dalam kod kami sendiri. Artikel asal: Cara menggunakan kelas ArrayList, Vector dan HashMap yang disediakan oleh Java Collections Framework
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION