Cum se utilizează clasele - colecțiile ArrayList, Vector și HashMap furnizate de Java Collections Framework
În acest articol, învățăm despre trei clase importante - colecțiile ArrayList. Vector și HashMap din Cadrul de colecții și începeți să le utilizați în propriul cod.
Folosind clase, colecțiile ArrayList și Vector. Putem stoca un grup de elemente sub forma unor obiecte simple și le putem manipula prin diferite metode disponibile în aceste clase. Clasele ArrayList și Vector sunt disponibile din pachetul java.util.
O altă clasă este o colecție disponibilă din pachetul java.util. acesta este HashMap. care vă permite să stocați o colecție de mapări: cheie-valoare. Acest lucru face posibilă obținerea valorii dorite din colecție atunci când cheia este cunoscută. Să examinăm exemple folosind aceste clase de colectare.
Exemplul 1. În acest exemplu, vom scrie un program simplu folosind clasa de colectare ArrayList.
Listarea 1. Codul de execuție pentru exemplul 1
Rularea acestui program va duce la următoarele rezultate:
Caracter 1: Harry
Caracterul 2: Ron
Caracterul 3: Hermione
Caracter 4: Snape
Caracterul 5: Dumbledore
Caracterul 6: Moody
Caracterul 7: Ridică
Caracterul 8: Fred
Caracter 1: Harry
Caracterul 2: george
Caracterul 3: Ron
Caracter 4: Hermione
Caracterul 5: Peter
Caracterul 6: Snape
Caracter 7: Dumbledore
Caracter 8: Moody
Caracterul 9: Ridică
Caracter 10: Fred
Număr total de caractere în array: 8
Numărul total de caractere din listă: 10
Pozitia personajului Ron este 2
Număr total de caractere în array: 8
Numărul total de caractere din listă: 8
Elementul Harry nu poate fi înlăturat
Elementul Dumbledore nu poate fi eliminat
Să aruncăm o privire la exemplul acestui program, pas cu pas.
În acest exemplu, în prima linie a programului, vom importa clasa - colecția ArrayList.
Apoi, la rândul nostru, inițializăm matricea de caractere preferate. Acesta conține numele de oameni și favouritelist - o instanță a colecției ArrayList.
Metoda includeCharacters (args) poate fi împărțită condițional în două părți.
În prima parte a metodei, elementele sunt adăugate din matrice la colecție folosind o buclă. În acest caz, adăugarea elementelor în ArrayList se face în aceeași ordine ca și în matrice. Acest lucru se datorează faptului că nu definim nicio poziție pentru elementele adăugate colecției.
Dar în a doua parte a metodei noastre, elementele sunt adăugate prin indexare. În acest caz, elementele sunt adăugate colecției la poziția exactă indicată. Când adăugați un element nou la mijlocul colecției ArrayList. elementele deja existente în această colecție, situate dincolo de poziția de inserție indicată a noului element, sunt deplasate în pozițiile următoare din propria lor poziție, mărind astfel mărimea colecției.
Când ne uităm la concluzia de la început, vom vedea:
Numărul total de caractere din listă: 10
Număr total de caractere în array: 8
Toate deoarece, în plus față de matrice, care are 8 elemente, care sunt adăugate la ArrayList. adăugăm în mod explicit încă 2 elemente, mărind astfel mărimea colecției la 10.
Metoda getCharacterPosition (args) ia valoarea elementului (numele persoanei) și afișează poziția acestui element în colecția ArrayList. Dacă în ArrayList nu există un astfel de element. apoi -1 este ieșire.
Metoda removeCharacter (args) elimină din colecție valoarea specificată a elementului (numele persoanei), luând ca argument fie indexul acestui element, fie elementul însuși. În codul de mai sus, putem observa că dimensiunea colecției noastre este de 8, în loc de 10, deoarece am eliminat 2 elemente din colecție.
Dacă dimensiunile matricei și colecției sunt aceleași, atunci metoda returnează următoarele rânduri:
Elementul Harry nu poate fi înlăturat
Elementul Dumbledore nu poate fi eliminat
Eliminarea metodei removeCharacter (args) se datorează numai faptului că dimensiunea colecției trebuie să fie mai mare decât dimensiunea matricei.
Exemplul 2. În acest exemplu, vom scrie un program simplu folosind Vectorul de colectare - Vector
Lista 2. Exemplul codului de execuție 2
Rularea acestui program va duce la următoarele rezultate:
Personajele sunt Weasley
Caracterele sunt Potter
Codul de mai sus este doar un mic eșantion dat ca dovadă că nu există o mare diferență între colecțiile ArrayList și Vector. Colecția Vector poate fi manipulată, precum și colecția ArrayList. folosind aceleași metode.
Exemplul 3. În acest exemplu, vom scrie un program simplu utilizând clasa de colectare HashMap
Listarea 3. Codul de execuție pentru exemplul 3
Rularea acestui program va duce la următoarele rezultate:
Autor principal1: Enid Blyton Celebrul Cinci
Author2: R.L.Stine Goosebumps
Informațiile despre autorul cărții Robinson Crusueo nu sunt disponibile
Autor: Carolyn Keene Nancy Drew
Autor: Cristopher Pike Celula
Autor: Dan Brown Codul lui Davinci
Autor7: J.K. Rowling Harry Potter
Să ne uităm la codul de mai sus, pas cu pas.
concluzie:
În articolul de mai sus, am învățat un pic despre clasele de colectare ArrayList. Vector. HashMap și a încercat să le utilizeze în propriul cod.