Een Java ArrayList gebruiken

Een Java ArrayList gebruiken

Naar Java ArrayLijst is een aanpasbare array voor algemene doeleinden. Het biedt de meeste faciliteiten die over het algemeen worden verwacht van arrays in andere talen. Deze omvatten: toegang krijgen tot elementen met behulp van een index, elementen toevoegen, verwijderen en bijwerken, dynamisch vergroten/verkleinen, herhalen over de elementen, enz. De meeste van deze bewerkingen zijn speciaal aangepast voor algemeen gebruik.





hoe toegang te krijgen tot de flashdrive op Windows 10

Er zijn een paar andere soorten 'arrays' (klassen die de Lijst interface, om technisch te zijn) die voor speciale doeleinden zijn bedoeld. Waaronder:





  • Gelinkte lijst ondersteunt snel inbrengen en verwijderen bij tussenliggende indices.
  • Vector lijkt op an ArrayLijst maar is gesynchroniseerd en is geschikt in plaats van een ArrayLijst voor toepassingen met meerdere threads.
  • Stapel ondersteunt bewerkingen voor het nabootsen van een last-in-first-out-lijst. Het verlengt de Vector en is dus gesynchroniseerd.

Deze speciale klassen vallen buiten het bestek van dit artikel. U leert echter hoe u een Java ArrayList voor algemene doeleinden instelt en gebruikt.





Een arraylijst maken

Een maken ArrayLijst is simpel. Een lege ArrayLijst kan worden gemaakt met behulp van de constructor zonder argumenten. Hier maken we een lege arraylist voor het vasthouden van strings.

ArrayList alist = new ArrayList();

Als u toevallig weet hoeveel items uw arraylijst zal bevatten, kunt u de initiële capaciteit specificeren. Deze initiële capaciteit is slechts een hint voor geheugentoewijzing -- de arraylist is niet beperkt tot het bevatten van het gespecificeerde aantal items. Als u de initiële capaciteit kent en specificeert, macht een lichte verbetering van de prestaties krijgen.



ArrayList alist = new ArrayList(20);

Een ArrayList vullen

Items aan het einde toevoegen

Het vullen van een arraylist is vrij eenvoudig. Gebruik gewoon de toevoegen() methode om een ​​enkel item toe te voegen aan het einde van de arraylist. Hier is een voorbeeld:

ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]

Om te zien hoeveel items er in de arraylist zijn, gebruik je de methode maat() .





System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4

Items toevoegen aan een gespecificeerde index

Wilt u een item toevoegen aan een willekeurige index? Specificeer de index als het eerste argument en het item wordt toegevoegd aan die index:

alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]

Een heleboel items toevoegen

U kunt ook items uit elke verzameling in de Java-verzamelingenhiërarchie toevoegen. Een ArrayLijst is een specifiek type genaamd Lijst . Hier is een manier om a . te construeren Lijst van een heleboel items (met behulp van Arrays.asList() ) en voeg het toe aan een ArrayLijst .





List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]

Natuurlijk kunt u hier een index opgeven als het eerste argument om de items toe te voegen die bij die index beginnen.

Toegang tot items

Als de items eenmaal aan de arraylist zijn toegevoegd, hoe kunnen we ze dan weer openen?

Toegang met een index

Als u de index van het item kent, kunt u de krijgen() methode om het element op die index op te halen.

welke processen kan ik beëindigen in taakbeheer windows 7
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Voorwerpen vinden

Wat als u de index van het item niet kent? Je kunt gebruiken index van() om te controleren of het item in de array aanwezig is en het item op te halen met behulp van de geretourneerde index.

System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4

Wat als het item niet aanwezig is in de arraylist? De index van() methode retourneert -1 wanneer het item niet wordt gevonden.

index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found

Itereren over een ArrayList

Natuurlijk is het meest voorkomende gebruik van een ArrayLijst itereert over de elementen. Dit kan op een aantal manieren worden bereikt. We laten hier een paar eenvoudige zien.

Hier is de eenvoudigste manier om een ​​arraylist te doorlopen en de items te extraheren voor een soort verwerking.

for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'

Deze code gebruikt de Java Enhanced For-Loop die werd geïntroduceerd in Java 1.5. Daarvoor kon je de items herhalen met een iterator. Een iterator wordt ook gebruikt wanneer dat nodig is: verwijderen elementen tijdens het iteratieproces, zoals het onderstaande voorbeeld illustreert. (Merk op dat we een kopie van de arraylist maken en aan de kopie werken.)

ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'

Artikelen vervangen

Zodra items zijn toegevoegd, hebben we een manier nodig om ongewenste items te vervangen. Dat kan met behulp van de set() methode met een index.

alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

Items verwijderen

Laten we nu kijken hoe we items uit een arraylist kunnen verwijderen. Als u de index van het item kent (misschien gebruikte u index van() hierboven beschreven), kunt u de verwijderen() methode met de index. Het retourneert het verwijderde element.

String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe

U kunt ook het element specificeren om de . te verwijderen eerst voorkomen van het element in de lijst. De methode retourneert waar als het element is gevonden en verwijderd.

app waarmee je wifi op school kunt gebruiken
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Hoe gebruik je de ArrayLijst in uw projecten en tegen welke speciale problemen liep u aan? Laat het ons weten in de reacties hieronder.

Deel Deel Tweeten E-mail Toegang krijgen tot Google's ingebouwde waterpas op Android

Als je ooit hebt moeten controleren of iets in een mum van tijd waterpas staat, kun je nu binnen enkele seconden een waterpas op je telefoon krijgen.

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • Java
Over de auteur Jay Sridhar(17 artikelen gepubliceerd) Meer van Jay Sridhar

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren