Erfassen Sie Ihre Fortschritte
Trailhead-Startseite
Trailhead-Startseite

Verwenden von Sammlungen

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Deklarieren und Initialisieren einer Liste
  • Erläutern von zwei Möglichkeiten zum Hinzufügen von Elementen zu einer Liste
Wussten Sie, dass Sie von einem Experten lernen können? Sehen Sie sich dieses Video an, um mehr über die Themen in diesem Modul zu erfahren:

Sammlungen

Eine Sammlung ist eine Art von Variable, die mehrere Elemente speichern kann. In unserem Teebeispiel gibt es eine Zuckerdose mit mehreren Zuckerwürfeln. Die Zuckerdose gilt als eine Sammlung und die Zuckerwürfel sind Elemente, die in dieser Sammlung gespeichert werden.

Eine Sammlung mit der Beschriftung 'sugar bowl'. Zuckerwürfel in der Zuckerdose sind beschriftete Elemente der Sammlung.

Wenngleich es drei Arten von Apex-Sammlungen gibt (Listen, Sets und Maps), konzentrieren wir uns in diesem Modul nur auf Listen.  

Listen

Eine Apex-Liste ist eine geordnete Gruppe von Elementen desselben Typs, wie z. B. eine Einkaufsliste. 

  1. Tea (Tee)
  2. Sugar (Zucker)
  3. Honey (Honig)
  4. Milk (Milch)

Jedes Element in der Einkaufsliste ist eine Zeichenfolge und hat eine eigene Position in der Liste. Zum Deklarieren einer Liste benötigen Sie verschiedene Dinge. Sie arbeiten mit dem reservierten Wort "list", dem Datentyp (alle Elemente müssen denselben Datentyp haben) zwischen den Zeichen <> und dem reservierten Wort "new". Am Ende dieser Anweisung stehen die erforderlichen Klammern. 

List <String> groceries = new List <String>();

Hinweis

Hinweis

Reservierte Worte sind Programmierwörter mit besonderer Bedeutung, die nicht als Variablennamen verwendet werden dürfen. Worte wie "new", "string", "false", "null" und viele mehr verursachen einen Syntaxfehler, wenn Sie versuchen, einer Variablen den gleichen Namen zu geben.

Deklarieren einer leeren Liste

  1. Klicken Sie in der Developer Console auf Debug | Open Execute Anonymous Window.
  2. Kopieren Sie diesen Code und fügen Sie ihn in das Fenster "Enter Apex Code" ein.
    //Declare the groceries list
    List<String> groceries = new List<String>();
    //The output for this statement is an empty list, ().
    System.debug('Groceries Value: ' + groceries);
  3. Aktivieren Sie das Kontrollkästchen Open Log und klicken Sie dann auf Execute.
  4. Das Ausführungsprotokoll wird mit dem Ergebnis der Ausführung des Codes geöffnet. Aktivieren Sie unten im Fenster das Kontrollkästchen Debug Only.

Als Sie den Code ausgeführt haben, haben Sie wahrscheinlich bemerkt, dass die Ausgabe () war. Da Sie der Liste nichts hinzugefügt haben, ist sie leer. Bei der Deklaration der Liste groceries haben Sie einen einzelnen leeren Bereich erstellt, der für das Hinzufügen von Elementen bereit ist. 

Ein großer leerer Bereich namens 'groceries'

Deklarieren einer Liste mit fester Größe

Wenn wir genau wissen, wie lang unsere Liste sein soll, können wir die Größe bei der Deklaration der Liste festlegen. Dazu fügen wir die Größe in eckigen Klammern, [ ], hinter dem Datentyp so wie hier ein: 

String[] groceries = new String[4];

Dieser Code deklariert eine Liste von Zeichenfolgen mit dem Namen "groceries" und legt ihre Größe auf 4 Zeichenfolgen fest. Die leere Liste "groceries" sieht wie folgt aus:

Ein in vier Abschnitte unterteilter Bereich namens 'groceries'

Die sequenzielle Position eines Elements ist eine Zahl, die als Index bezeichnet wird. Über den Index verweisen wir auf Elemente. Sie haben wahrscheinlich gelernt, beim Zählen mit der Nummer eins zu beginnen. In vielen Programmiersprachen beginnt die Zählung jedoch bei 0! Somit wird unsere Liste jetzt so aussehen, wenn wir unseren Apex-Code schreiben. 

0. Tea (Tee)

1. Sugar (Zucker)

2. Honey (Honig)

3. Milk

Der Index, mit dem Sie auf ein bestimmtes Element in der Liste zeigen, ist Index 0 für Tea, Index 1 für Sugar, Index 2 für Honey usw. 

Sie verweisen auf ein bestimmtes Element in der Liste über seinen Index (seine Position innerhalb der Liste) wie folgt:

groceries[0];

  1. Klicken Sie in der Developer Console auf Debug | Open Execute Anonymous Window.
  2. Kopieren Sie diesen Code und fügen Sie ihn in das Fenster "Enter Apex Code" ein.
    String[] groceries = new String[4];
    System.debug('Initialized groceries: ' + groceries);
    System.debug('Item 0: ' + groceries[0]);
  3. Aktivieren Sie das Kontrollkästchen Open Log und klicken Sie dann auf Execute.
  4. Das Ausführungsprotokoll wird mit dem Ergebnis der Ausführung des Codes geöffnet. Aktivieren Sie unten im Fenster das Kontrollkästchen Debug Only.

Der Wert des ersten Elements in der Liste ist 0. Lassen Sie uns der Liste einige Elemente hinzufügen.

Initialisieren einer Liste

Beim Initialisieren einer Liste werden ihr anfängliche Werte zugewiesen. Es gibt zwei Möglichkeiten zum Hinzufügen von Elementen zu einer Liste:

  1. Deklarieren und Initialisieren einer Liste
    //Sets the first item in the list to 'Tea'
    List<String> groceries = new List<String>{'Tea'}; 
  2. Deklarieren einer leeren Liste, der später Werte hinzugefügt werden
List<String> groceries = new List<String>();
groceries.add('Tea');

Deklarieren und Initialisieren einer Liste

Die Syntax zur Initialisierung einer Liste mit Werten ähnelt der Deklaration einer leeren Liste. Der Unterschied besteht darin, dass Sie anstelle von Klammern ( () ) geschweifte Klammern ( { } ) verwenden, um Werte hinzuzufügen. 

  1. Klicken Sie in der Developer Console auf Debug | Open Execute Anonymous Window.
  2. Kopieren Sie diesen Code und fügen Sie ihn in das Fenster "Enter Apex Code" ein.
    //Declare the groceries list
    List<String> groceries = new List<String>{'Tea','Sugar','Honey','Milk'};
    //The output for this statement is Tea, Sugar, Honey, Milk
    System.debug('Groceries: ' + groceries);
  3. Aktivieren Sie das Kontrollkästchen Open Log und klicken Sie dann auf Execute.
  4. Das Ausführungsprotokoll wird mit dem Ergebnis der Ausführung des Codes geöffnet. Aktivieren Sie unten im Fenster das Kontrollkästchen Debug Only.

Deklarieren einer leeren Liste, der später Werte hinzugefügt werden

Was ist jedoch, wenn Sie später Elemente hinzufügen möchten? Apex bietet Methoden, die Ihnen das Arbeiten mit Listen ermöglichen. Lassen Sie uns mithilfe der "add"-Methode der Liste "groceries" einige Elemente hinzufügen.

  1. Klicken Sie in der Developer Console auf Debug | Open Execute Anonymous Window.
  2. Kopieren Sie diesen Code und fügen Sie ihn in das Fenster "Enter Apex Code" ein.
    //Create the groceries list
    List<String> groceries = new List<String>();
    //The output for this statement is null
    System.debug('Groceries: ' + groceries);
    //Use the add method to add an element to the list
    groceries.add('Tea');
    groceries.add('Sugar');
    groceries.add('Honey');
    groceries.add(2, 'Milk');
    //The output for this statement is Tea, Sugar, Milk, Honey
    System.debug('Groceries: ' + groceries);
  3. Aktivieren Sie das Kontrollkästchen Open Log und klicken Sie dann auf Execute.
  4. Das Ausführungsprotokoll wird mit dem Ergebnis der Ausführung des Codes geöffnet. Aktivieren Sie unten im Fenster das Kontrollkästchen Debug Only.

Ein Bereich namens 'groceries', der in vier Abschnitte mit je einer Zutat in jedem Abschnitt unterteilt ist: Tea, Sugar, Milk und Honey.

Haben Sie den Punkt (.) zwischen groceries und add bemerkt? In Apex wird die Punktnotation verwendet. Die Punktnotation hat mehrere Zwecke. In Zeile 6 verbinden wir die add-Methode (die Apex bereitstellt) und die Liste groceries mit einem Punkt, um der Liste ein Element (Tea) hinzuzufügen.

Zeile 9 veranschaulicht eine weitere Möglichkeit, ein Element einer Liste hinzuzufügen, indem das Element an einem bestimmten Index (einer Position) platziert wird: 

groceries.add(2, ‘Milk’);

Sobald Sie sich weiter mit Apex-Code beschäftigen, erfahren Sie, wie Sie die zu verwendende Methode bestimmen können. Aber die Grundlagen, die Sie in dieser Einheit erlernen, können Ihnen beim Einstieg helfen. 

Weitere Informationen zu Listen

Verschiedene Möglichkeiten, Elemente einer Liste hinzuzufügen, führen zu leicht unterschiedlichen Ergebnissen und manchmal sogar zu unerwarteten Ergebnissen. Probieren Sie diese Übung.

  1. Klicken Sie in der Developer Console auf Debug | Open Execute Anonymous Window.
  2. Kopieren Sie diesen Code und fügen Sie ihn in das Fenster "Enter Apex Code" ein.
    String[] groceries = new String[4];
    System.debug('Groceries: ' + groceries);
    groceries.add('Tea');
    groceries.add('Sugar');
    System.debug('Added 2 items: ' + groceries);
    groceries.add(1, 'Honey');
    System.debug('Added Honey in index 1: ' + groceries);
    System.debug('Item 0: ' + groceries[0]);
  3. Aktivieren Sie das Kontrollkästchen Open Log und klicken Sie dann auf Execute.
  4. Das Ausführungsprotokoll wird mit dem Ergebnis der Ausführung des Codes geöffnet. Aktivieren Sie unten im Fenster das Kontrollkästchen Debug Only.

Interessante Ergebnisse:

Vier Ereignisse im Debug-Protokoll. Zeile 2 lautet Initialized groceries: (null, null, null, null). Zeile 6 lautet Added 2 items: (null, null, null, null, Tea, Sugar). Zeile 9 lautet: Added Honey in index 1: (null, Honey, null, null, Tea, Sugar). Zeile 11 lautet: Item 0: null.

Als wir die beiden Zeichenfolgen in den Zeilen 3 und 4 hinzugefügt haben, haben wir keinen Index angegeben, weshalb Tea and Sugar am Ende der Liste hinzugefügt wurden, wodurch die Listengröße von vier auf sechs Zeichenfolgen erhöht wurde. In Zeile 6 haben wir Index 1 für Honey explizit angegeben, warum ist also Honey nicht an erster Stelle in der Liste? Denken Sie daran, dass wir bei der Programmierung mit dem Zählen immer mit 0 statt mit 1 beginnen. In Zeile 8 ist der erste Index in der Liste 0, der derzeit einen null-Wert enthält. 

Das Schreiben von Code ist dem Lösen von mathematischen Problemen sehr ähnlich. Sie haben eine Gleichung, aber es gibt unzählige Möglichkeiten, eine Aufgabe zu meistern. In dieser Lektion haben Sie erfahren, dass es in Apex mehr als eine Möglichkeit gibt, mit Listen zu arbeiten. Ob Sie eine Liste deklarieren, eine Liste initialisieren oder auf einen bestimmten Wert in einer Liste verweisen möchten – wie Sie das machen, ist Ihre Entscheidung. Zu viele Optionen? Keine Sorge! Sobald Sie sich mit Apex vertraut gemacht haben, probieren Sie die Dinge auf verschiedene Weise aus, und Sie werden anfangen, besser zu verstehen, welche Methoden unter welchen Umständen am besten funktionieren.

Ressourcen