11 Mengen in Java Collections

Submitted by javafrage on Sat, 02/13/2016 - 18:28

Für die Verwaltung von Mengen (engl. Set) gibt es im Java Collection Framework eine Schnittstelle Set und zwei Klassen, die diese Schnittstelle implementieren. Nennen Sie die beiden Klassen, die die Schnittstelle Set implementieren. Welche Vorteile hat dieser Ansatz bei dem für Mengen eine Schnittstelle und zwei Klassen benutzt werden? Geben Sie eine kurze Erklärung.

Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).

Niveau 2
Schwierigkeitsgrad mittel
Zeit 2+3 Minuten

Antwort zu Frage 10: Java Collection Framework (Mengen, Listen)

In die Menge werden drei Zeichenketten eingetragen. Anschließend soll über die Menge der Zeichenketten zweimal iteriert werden.
1. Wählen Sie aus dem Collection Framework eine Klasse die sortierte Mengen verwaltet.
Tragen Sie den passenden Aufruf mit dem new Operator in der Zeile ein, in der die Variable s belegt wird.

2. Implementieren Sie im nachfolgenden Code eine erweiterte for-Schleife, die alle Zeichenketten auf der Konsole ausgibt ohne das ein Iterator verwendet wird.

3. Implementieren Sie eine while Schleife die den gegeben Iterator nutzt und alle Elemente der Menge auf der Konsole ausdruckt:

package s2.collection;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class PersonenMenge{
/** In dieser Methode Code eintragen ! */
   public static void main(String[] args) {
     String p1 = new String("Schmidt");
     String p2 = new String("Mueller");
     String p3 = new String("Maier");

     Set<String> s = new TreeSet<String>();         // 1.
     s.add(p1);
     s.add(p2);
     s.add(p3);

     // 2. Erweiterte for Schleife und Ausgabezeile implementieren
     for (String p : s) {
          System.out.println("Person:" + p);
      }

     Iterator<String> i = s.iterator();
     String ppp; // Hilfsvariable zum Iterieren

     // 3. While Schleife mit Iteratorbenutzung und Ausgabezeileimplementieren
     while (i.hasNext()) {
        ppp = i.next();      
        System.out.println("Person:" + ppp);
      }

   } // Ende main Methode
} // Ende der Klasse

4. Nennen Sie den Vorteil des Typs der in der ersten Frage gefordert wurde.

  • Man kann sortiert über die Menge nach einem Schlüssel iterieren

5. Nennen Sie Nachteile des Typs der in der ersten Frage gefordert wurde.

  • Einfügen ist aufwendiger
  • Entfernen ist aufwendiger

6. Welche Klasse zur Verwaltung von Mengen bietet das Java Collection Framework an, wenn die Sortiereihenfolge nicht wichtig ist?

  • HashSet

7. Nennen Sie die Vorteile des Mengentyps (6.) der die Menge nicht sortiert verwaltet.

  • Sehr effizientes Einfügen und Löschen von Elementen

8. In welchen Fällen ist es von Vorteil eine java.util.LinkedList Klasse anstatt der java.util.ArrayList Klasse zu verwenden?

  • Viele Einfüge oder Löschoperationen in der Liste
  • Listenwachstum ist unvorhersehbar
  • Zugriff auf Listenelemente mit einem Index ist nicht wichtig