Owen Little
0
1397
366
En Java ArrayList er en generel målbar størrelse, der kan ændres til størrelse. Det giver de fleste af de faciliteter, der generelt forventes af matriser på andre sprog. Disse inkluderer: adgang til elementer ved hjælp af et indeks, tilføjelse, fjernelse og opdatering af elementer, dynamisk ændring af størrelse, iterering over elementerne osv. De fleste af disse operationer er specielt tilpasset til generel brug.
Der er et par andre typer “arrays” (klasser, der implementerer Liste interface, skal være teknisk) der er beregnet til specielle formål. Disse inkluderer:
- LinkedList understøtter hurtig indsættelse og fjernelse ved mellemindekser.
- Vektor ligner en ArrayList men er synkroniseret og er egnet i stedet for en ArrayList til flertrådede applikationer.
- Stak understøtter operationer til at efterligne en sidste-i-første-ud liste. Det udvider Vektor og følgelig synkroniseres.
Disse specielle klasser falder uden for denne artikels rækkevidde. Du lærer dog, hvordan du konfigurerer og bruger en generel Java ArrayList.
Oprettelse af en ArrayList
Oprettelse af en ArrayList er enkel. En tom ArrayList kan oprettes ved hjælp af ingen-argumenter-konstruktøren. Her opretter vi en tom arraylist til at holde streng.
ArrayList alist = ny ArrayList ();
Hvis du ved, hvor mange elementer din array-liste vil indeholde, kan du angive den indledende kapacitet. Denne startkapacitet er bare et tip til hukommelsesallokering - arraylisten er ikke begrænset til at indeholde det specificerede antal genstande. Hvis du kender og specificerer den oprindelige kapacitet, du magt få en lille forbedring i ydelsen.
ArrayList alist = ny ArrayList (20);
Udfyld en ArrayList
Tilføjelse af varer i slutningen
Det er ret let at udfylde en arraylist. Brug bare tilføje() metode til at tilføje et enkelt element til slutningen af arraylisten. Her er et eksempel:
ArrayList alist = ny ArrayList (); alist.add ( "æble"); alist.add ( "banan"); alist.add ( "cantaloupe"); alist.add ( "orange"); System.out.println (ialist); # udskrifter [æble, banan, cantaloupe, orange]
Brug metoden for at finde ud af, hvor mange genstande der er i arraylisten størrelse().
System.out.println ("Antal elementer i arraylisten:" + alist.size ()); # udskrifter Antal elementer i arraylisten: 4
Tilføjelse af varer til et specificeret indeks
Vil du tilføje en vare ved et vilkårligt indeks? Angiv indekset som det første argument, og elementet tilføjes ved det indeks:
alist.add (3, "druer"); System.out.println (ialist); # udskrifter [æble, banan, cantaloupe, druer, orange]
Tilføjelse af en masse varer
Du kan også tilføje genstande fra enhver samling i Java Collections Hierarchy. en ArrayList er en bestemt type kaldet Liste. Her er en måde at konstruere en Liste fra en masse varer (ved hjælp af Arrays.asList ()) og tilføj det til en ArrayList.
Listeelementer = Arrays.asList ("pære", "kirsebær"); alist.addAll (poster); System.out.println (ialist); # udskrifter [æble, banan, cantaloupe, druer, orange, pære, kirsebær]
Naturligvis kan du angive et indeks som det første argument her for at tilføje de elementer, der starter ved det indeks.
Adgang til varer
Når elementerne er føjet til arraylisten, hvordan får vi adgang til dem igen?
Adgang med et indeks
Hvis du kender varens indeks, kan du bruge få() metode til at hente elementet ved det indeks.
Strengelement = alist.get (2); System.out.println ("Punkt ved indeks 2 er:" + vare); # udskriver Elementet ved indeks 2 er: cantaloupe
Finde genstande
Hvad hvis du ikke kender varens indeks? Du kan bruge indeks af() for at kontrollere, om varen er til stede i matrixen og hente emnet vha. det returnerede indeks.
System.out.println (ialist); int-indeks = alist.indexOf ("orange"); if (indeks < 0 ) System.out.println("Item \"orange\"" not found"")