Bruke ArrayList i Java

Mannlig kontorarbeider med laptop

Michael Bodmann/E+/Getty Images





Standard arrays i Java er faste i antall elementer de kan ha. Hvis du vil øke eller redusere elementene i en matrise, må du lage en ny matrise med riktig nummer av elementer fra innholdet i den originale matrisen. Et alternativ er å bruke |_+_|klassen. Klassen |_+_| gir muligheten til å lage dynamiske matriser (dvs. lengden deres kan øke og reduseres).

Importerklæring

|_+_|

Opprett en ArrayList

En |_+_|kan lages ved å bruke det enkle konstruktør :



|_+_|

Dette vil lage en |_+_|med en innledende kapasitet på ti elementer. Hvis det kreves en større (eller mindre) |_+_|, kan startkapasiteten overføres til konstruktøren. For å gjøre plass til tjue elementer:

|_+_|

Fylling av ArrayList

Bruk add-metoden for å legge til en verdi til |_+_|:



|_+_|

Merk: |_+_|lagrer bare objekter, så selv om linjene ovenfor ser ut til å legge til

En standard matrise kan brukes til å fylle ut en |_+_|ved å konvertere den til en listesamling ved å bruke Arrays.asList-metoden og legge den til |_+_|ved å bruke |_+_|metoden:

|_+_|

En ting å merke seg om |_+_|er at elementene ikke trenger å være av samme objekttype. Selv om |_+_|har blitt fylt med Stringobjekter, kan den fortsatt godta tallverdier:

|_+_|

For å minimere sjansen for feil er det best å spesifisere typen objekter du vil at |_+_| skal inneholde. Dette kan gjøres på opprettelsesstadiet ved å bruke generiske medisiner:

|_+_|

Hvis vi prøver å legge til et objekt som ikke er et |_+_|, vil det bli produsert en kompileringstidsfeil.



Vise elementene i en ArrayList

For å vise elementene i en |_+_|kan |_+_|metoden brukes:

|_+_|

som resulterer i:



|_+_|

Sette inn et element i ArrayList

Et objekt kan settes inn hvor som helst i |_+_|indeksen til elementer ved å bruke add-metoden og sende posisjonen for innsettingen. For å legge til |_+_| til |_+_|ved posisjon 3:

|_+_|

som resulterer i (ikke glem indeksen til en |_+_|starter på 0):



|_+_|

Fjerne et element fra en ArrayList

Metoden |_+_| kan brukes til å fjerne elementer fra |_+_|. Dette kan gjøres på to måter. Den første er å angi indeksposisjonen til elementet som skal fjernes:

|_+_|

den |_+_| i posisjon 2 er fjernet:



|_+_|

Den andre er å levere gjenstanden som skal fjernes. Dette vil fjerne første gang av objektet. For å fjerne 'Max' fra |_+_|:

|_+_|

Den |_+_| er ikke lenger i |_+_|:

|_+_|

Erstatte et element i en ArrayList

I stedet for å fjerne et element og sette inn et nytt i stedet, kan |_+_|-metoden brukes til å erstatte et element på én gang. Bare send indeksen til elementet som skal erstattes og objektet det skal erstattes med. For å erstatte 'Peter' med 'Paul':

|_+_|

som resulterer i:

|_+_|

Andre nyttige metoder

Det finnes en rekke nyttige metoder for å hjelpe deg med å navigere i innholdet i en matriseliste:

  • Antall elementer i en |_+_|kan bli funnet ved å bruke |_+_|metoden: |_+_|Etter alle våre manipulasjoner av |_+_|er vi nede på 5 elementer:
    • |_+_|
  • Bruk |_+_|metoden for å finne indeksposisjonen til et bestemt element: |_+_||_+_| er i indeksposisjon 1:
    • |_+_|
  • For å fjerne alle elementene fra en |_+_|brukes clear-metoden: |_+_|
  • Noen ganger kan det være nyttig å se om |_+_|har noen elementer i det hele tatt. Bruk |_+_|metoden: |_+_|som etter |_+_|metodekallet ovenfor nå er sant:
    • |_+_|