Einfügen von Elementen und die unterschiedlichen Befehle

**This is an old revision of the document!**

Einfügen von Elementen und die unterschiedlichen Befehle

  1. Welche Datenstruktur gemeint ist
    • Liste/Array (sequenziell) → Der häufigste Begriff ist append oder push, weil man typischerweise etwas am Ende der Liste anhängt.
    • Menge (Set) → Hier wird meist add verwendet, weil man ein Element zur Sammlung hinzufügt – egal, wo. (Die Reihenfolge spielt bei Mengen keine Rolle.)
    • Assoziatives Array / Map / Dictionary (Schlüssel-Wert-Paare) → Hier heißt es oft put oder insert, weil man einem Schlüssel einen Wert zuordnet, also „etwas ablegt“.
  2. Sprache / Konvention
    • In Python:
      • list.append(x) → hängt hinten an.
      • set.add(x) → fügt hinzu, wenn es noch nicht existiert.
      • dict[key] = value oder dict.update() → entspricht put.
    • In Java:
      • ArrayList.add(x) → fügt ans Ende ein.
      • HashSet.add(x) → wie bei Mengen.
      • Map.put(key, value) → weil es ein Schlüssel-Wert-Paar ist.
    • In C++ STL:
      • vector.push_back(x) → am Ende einfügen.
      • set.insert(x) → fügt ein, wenn neu.
      • map.insert({key, value}) oder map[key] = value.
  3. Semantik
    • add → neutrales „füge hinzu“ (egal wo, meist Mengen oder Listen).
    • append → „hänge an das Ende an“ (nur sinnvoll für geordnete Sequenzen).
    • put → „lege unter einem Schlüssel ab“ (assoziative Strukturen).
    • insert → meist „füge an bestimmter Stelle ein“.

Hier eine Übersicht

Datenstruktur Typische Operation Python Java C++ STL Bedeutung
Liste / Array (geordnet) am Ende anhängen list.append(x) ArrayList.add(x) vector.push_back(x) hängt ein Element hinten an
an bestimmter Stelle einfügen list.insert(i, x) list.add(i, x) vector.insert(pos, x) fügt an einer Position ein
Menge (Set) hinzufügen, falls nicht vorhanden set.add(x) HashSet.add(x) set.insert(x) Reihenfolge egal, Duplikate nicht erlaubt
Schlüssel-Wert (Map/Dict) einfügen oder überschreiben dict[key] = value Map.put(k, v) map[key] = v ordnet einem Schlüssel einen Wert zu
nur einfügen, wenn neu dict.setdefault(k, v) putIfAbsent(k, v) map.insert({k, v}) fügt nur ein, wenn Schlüssel fehlt