So verwenden Sie eine Java ArrayList

So verwenden Sie eine Java ArrayList

Nach Java Anordnungsliste ist ein universelles Array mit veränderbarer Größe. Es bietet die meisten Funktionen, die allgemein von Arrays in anderen Sprachen erwartet werden. Dazu gehören: Zugriff auf Elemente über einen Index, Hinzufügen, Entfernen und Aktualisieren von Elementen, dynamische Größenänderung, Iteration über die Elemente usw. Die meisten dieser Operationen wurden speziell für den allgemeinen Gebrauch optimiert.





So finden Sie heraus, welches Motherboard Sie haben

Es gibt noch einige andere Arten von 'Arrays' (Klassen, die die Aufführen Schnittstelle, technisch zu sein), die für spezielle Zwecke bestimmt sind. Diese beinhalten:





  • LinkedList unterstützt schnelles Einsetzen und Entfernen bei Zwischenindizes.
  • Vektor ist ähnlich wie an Anordnungsliste ist aber synchronisiert und eignet sich anstelle eines Anordnungsliste für Multithread-Anwendungen.
  • Stapel unterstützt Operationen zum Nachahmen einer Last-In-First-Out-Liste. Es verlängert die Vektor und ist somit synchronisiert.

Diese speziellen Klassen sind nicht Gegenstand dieses Artikels. Sie erfahren jedoch, wie Sie eine universelle Java ArrayList einrichten und verwenden.





Erstellen einer ArrayList

Erstellen eines Anordnungsliste Ist einfach. Ein leeres Anordnungsliste kann mit dem Konstruktor ohne Argumente erstellt werden. Hier erstellen wir eine leere Arrayliste zum Halten von Strings.

ArrayList alist = new ArrayList();

Wenn Sie wissen, wie viele Elemente Ihre Array-Liste enthalten wird, können Sie die Anfangskapazität angeben. Diese anfängliche Kapazität ist nur ein Hinweis für die Speicherzuweisung – die Arrayliste ist nicht darauf beschränkt, die angegebene Anzahl von Elementen zu speichern. Wenn Sie die Anfangskapazität kennen und angeben, können Sie Macht eine leichte Leistungssteigerung erzielen.



ArrayList alist = new ArrayList(20);

Auffüllen einer ArrayList

Hinzufügen von Gegenständen am Ende

Das Auffüllen einer Arrayliste ist recht einfach. Benutze einfach die hinzufügen() -Methode, um ein einzelnes Element am Ende der Arrayliste hinzuzufügen. Hier ist ein Beispiel:

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]

Um herauszufinden, wie viele Elemente sich in der Arrayliste befinden, verwenden Sie die Methode Größe() .





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

Hinzufügen von Elementen zu einem angegebenen Index

Möchten Sie ein Element zu einem beliebigen Index hinzufügen? Geben Sie den Index als erstes Argument an und das Element wird an diesem Index hinzugefügt:

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

Hinzufügen einer Reihe von Elementen

Sie können auch Elemente aus jeder Sammlung in der Java-Sammlungshierarchie hinzufügen. Ein Anordnungsliste ist ein bestimmter Typ namens Aufführen . So konstruieren Sie a Aufführen aus einer Reihe von Gegenständen (mit Arrays.asList() ) und füge es zu einem hinzu Anordnungsliste .





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

Natürlich können Sie hier als erstes Argument einen Index angeben, um die Elemente ab diesem Index hinzuzufügen.

Auf Elemente zugreifen

Wie greifen wir wieder auf sie zu, nachdem die Elemente der Arrayliste hinzugefügt wurden?

Zugriff mit einem Index

Wenn Sie den Index des Artikels kennen, können Sie die werden() -Methode, um das Element an diesem Index abzurufen.

Wie erkenne ich welche Grafikkarte ich habe Windows 10?
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Artikel finden

Was ist, wenn Sie den Index des Elements nicht kennen? Sie können verwenden Index von() um zu überprüfen, ob das Element im Array vorhanden ist, und das Element mithilfe des zurückgegebenen Index abzurufen.

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

Was ist, wenn das Element nicht in der Arrayliste vorhanden ist? Die Index von() Methode gibt -1 zurück, wenn das Element nicht gefunden wird.

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

Iterieren über eine ArrayList

Natürlich ist die häufigste Verwendung von an Anordnungsliste iteriert über die Elemente. Dies kann auf verschiedene Weise erreicht werden. Wir zeigen hier ein paar einfache.

Hier ist der einfachste Weg, über eine Arrayliste zu iterieren und die Elemente für eine Verarbeitung zu extrahieren.

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'

Dieser Code verwendet die Java Enhanced For-Loop, die in Java 1.5 eingeführt wurde. Zuvor konnten Sie die Elemente mit einem Iterator durchlaufen. Ein Iterator wird auch verwendet, wenn Sie es brauchen Löschen Elemente während des Iterationsprozesses, wie das folgende Beispiel veranschaulicht. (Beachten Sie, dass wir eine Kopie der Arrayliste erstellen und an der Kopie arbeiten.)

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'

Ersetzen von Gegenständen

Sobald Elemente hinzugefügt wurden, benötigen wir eine Möglichkeit, unerwünschte Elemente zu ersetzen. Das geht mit der einstellen() Methode mit einem Index.

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

Elemente entfernen

Sehen wir uns nun an, wie wir Elemente aus einer Arrayliste entfernen können. Wenn Sie den Index des Elements kennen (vielleicht haben Sie Index von() oben beschrieben), können Sie die Löschen() Methode mit dem Index. Es gibt das entfernte Element zurück.

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

Sie können auch das Element angeben, um das zu entfernen Erste Vorkommen des Elements in der Liste. Die Methode gibt zurück wahr wenn das Element gefunden und entfernt wurde.

So ändern Sie die Größe von Ebenen in Photoshop
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Wie benutzt du das? Anordnungsliste in Ihren Projekten und mit welchen besonderen Fragestellungen sind Sie konfrontiert? Bitte lass es uns in den Kommentaren unten wissen.

Teilen Teilen Tweet Email So greifen Sie auf die integrierte Wasserwaage von Google auf Android zu

Wenn Sie jemals sicherstellen mussten, dass etwas zur Not eben ist, können Sie jetzt in Sekundenschnelle eine Wasserwaage auf Ihrem Telefon abrufen.

Weiter lesen
Verwandte Themen
  • Programmierung
  • Java
Über den Autor Jay Sridhar(17 Artikel veröffentlicht) Mehr von Jay Sridhar

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren