Hallo!
Mal ne Frage. Die hängt immer noch bissl mit den Themen bzw. den anderen Treads zusammen.
Und zwar gehts immer noch darum, eine ArrayList in eine verkettete Liste zu schreiben. Dazu funt auch erstma soweit.
Was jetzt aber mein Problem ist, soll ich für jede ArrayList das ich in die verk. Liste schreibe immer ein neues ArrayList Objekt anlegen oder kann ich das alte verwenden.
oder so
Der Unterschied ist, wenn ich dann die Liste bzw. die einzelenen Knoten in einen Datei schreibe, dann verbraucht die 2.te Variante viel weniger Speicherplatz. Komisch ist bei der 2.ten Varianete auch, egel wieviel Einträge ich in die Liste speichern will, immer nur ein Objekt reingeschrieben wird. Also die Datei ist komischerweise immer gleich groß. Ist für mich irgendwie unlogisch. Trotz immer gleichem Array Objekt, sollte doch jeder Knoten dieses Objekt zugewiesen bekommen und in der Datei gespeichert werden.
Bin ich also gezwungen 1.te Variante zu nehmen. Prob ist eben hierbei, dass ich immer eine konstante Arraygröße z.B. ArrayList[100000] wissen muss. Klar, ich könnte diese groß genug definieren, aber liegt da der Sinn drin?
Wer kann mir hierbei ma weiterhelfen?
Danke
Reen
EDIT: Die 1.te Variante dauert auch ziemlich lange, wenn ich da z.B. 10000 Elemente in die Datei schreiben möchte. Gibts ne Möglichkeit das alles erst im Speicher zu erstellen und dann mit einma in die Datei zu klatschen?
Mal ne Frage. Die hängt immer noch bissl mit den Themen bzw. den anderen Treads zusammen.
Und zwar gehts immer noch darum, eine ArrayList in eine verkettete Liste zu schreiben. Dazu funt auch erstma soweit.
Was jetzt aber mein Problem ist, soll ich für jede ArrayList das ich in die verk. Liste schreibe immer ein neues ArrayList Objekt anlegen oder kann ich das alte verwenden.
Code:
ArrayList[] al = new ArrayList[100000];
for (int i=0; i<anzahlint; i++)
{
al[i] = new ArrayList();
eintrag.getBytes(0, 5, namefield, 0);
al[i].add(namefield);
al[i].add(startp);
al[i].add(endep);
al[i].add(nextc);
al[i].add(index);
liste.fuegeNach(al);
System.out.println(i);
oder so
Code:
for (int i=0; i<anzahlint; i++)
{
ArrayList al = new ArrayList();
eintrag.getBytes(0, 5, namefield, 0);
al.add(namefield);
al.add(startp);
al.add(endep);
al.add(nextc);
al.add(index);
liste.fuegeNach(al);
System.out.println(i);
Der Unterschied ist, wenn ich dann die Liste bzw. die einzelenen Knoten in einen Datei schreibe, dann verbraucht die 2.te Variante viel weniger Speicherplatz. Komisch ist bei der 2.ten Varianete auch, egel wieviel Einträge ich in die Liste speichern will, immer nur ein Objekt reingeschrieben wird. Also die Datei ist komischerweise immer gleich groß. Ist für mich irgendwie unlogisch. Trotz immer gleichem Array Objekt, sollte doch jeder Knoten dieses Objekt zugewiesen bekommen und in der Datei gespeichert werden.
Bin ich also gezwungen 1.te Variante zu nehmen. Prob ist eben hierbei, dass ich immer eine konstante Arraygröße z.B. ArrayList[100000] wissen muss. Klar, ich könnte diese groß genug definieren, aber liegt da der Sinn drin?
Wer kann mir hierbei ma weiterhelfen?
Danke
Reen
EDIT: Die 1.te Variante dauert auch ziemlich lange, wenn ich da z.B. 10000 Elemente in die Datei schreiben möchte. Gibts ne Möglichkeit das alles erst im Speicher zu erstellen und dann mit einma in die Datei zu klatschen?