Permanentes speichern von Objekten in einer ArrayList

Taso44

Aktives Mitglied
Hallo zusammen,
wollte man fragen ob es einen Weg gibt die Inhalte einer ArrayList beizubehalten auch wenn man
das Programm schließt oder halt neu startet.
Ich weiß man kann es machen in dem man die Inhalte der Liste in eine (beispielsweise) txt oder eine andere Datei einfügt.
Aber vielleicht gibt es auch einen Weg wie man es im Programm macht ohne auf etwas externes zugreifen zu müssen.
Danke.
 
Beim Starten wird eine VM erzeugt die dann beim Beenden des Programmes zerstört wird. Inneralb des Programmes kann also nicht gehen. Du musst die Daten also an einer Stelle außerhalb ablegen, also z.B. in einer Datei, in einer Datebank (Was dann wieder darauf hinaus läuft, dass es in Dateien gespeichert wird), auf einem anderen System, ....

Oder habe ich Deine Frage falsch verstanden?
 
Klar:
Java:
List<Wert> liste = new ArrayList<>();
liste.add(new Wert(...));
liste.add(new Wert(...));
liste.add(new Wert(...));
 
Nein.

Programm Ende bedeutet dass der Speicher freigegeben wird, und das bedeutet dass dieser wiederverwendet oder geleert wird. Du kannst die Sachen nur in eine Datei schreiben (oder du sendest sie an einen Dienst, und holst sie von dort wieder ab, aber dann muss der Dienste diese persistieren).
 
Klar geht das. Bei folgendem Programm werden immer dieselben Werte, in diesem Fall die drei Strings "1", "2", "3", in der ArrayList sein, auch nach Programmneustart:
Java:
import java.util.ArrayList;
import java.util.List;
public class MeinProgramm {
    public static void main(String[] args) {
        List<String> werte = new ArrayList<>();
        werte.add("1");
        werte.add("2");
        werte.add("3");
    }
}
 
@Taso44, falls Du Dich über die unterschiedlichen Antworten wunderst: das liegt nicht daran, dass wir uns nicht über die Möglichkeiten einig wären sondern in Ungenauigkeiten Deiner Frage, die unterschiedliche Interpretationen zulassen. Die Antworten sind im jeweiligen Kontext alle richtig.
 

Zurück
Oben