Array an Array anhängen.



  • Gibt es in zufällig sowas wie eine append-Methode für Arrays, mit der ich sowas, wie folgt machen kann:

    File[] x;
    File[] y;
    //...
    x.append(y);
    

    Ich könnte zwar die Daten des Arrays einzeln auslesen und ins neue kopieren, aber das kostet Performance.
    Anscheinend muss ich doch auf sowas wie eine ArrayList zurückgreifen, was in meinem Fall problematisch ist, weil ich alle Daten aus dem Array in die ArrayList kopieren muss.
    Und eine vorgeg. Methode (listFiles()) liefert mir ein Array zurück und nicht einzelne Objekte, die ich ja in dem Fall direkt zur ArrayList adden könnte.
    Das ist das Prob.



  • Da gibt's AFAIK keine Möglichkeit dafür. Du wirst wohl oder über das ganze Array durchlaufen müssen (das geht ja schnell) und alle Elemente dann an eine ArrayList hängen (oder ein anderes längeres Array)
    Ich denke mal, dass du das für deine Verzeichnise braucht, also würde ich das so machen (grob skizziert):[java]ArrayList myList = new ArrayList();
    myList.addAll(readDir("firstDir"));
    myList.addAll(readDir("secondDir")); //Dann natürlich rekursiv 😉
    [...]
    private ArayList readDir(String dirName)
    {
    [...]
    }[/code]

    [ Dieser Beitrag wurde am 21.06.2003 um 22:43 Uhr von destruct0r editiert. ]



  • Also ich denk mal, dass es Performancefressender ist, wenn man die Daten in eine ArrayList packt, als die Daten kurz umzukopieren.

    Zum kopieren gibts nebenbei auch eine Methode, die um einiges schneller arbeitet, als das normale umkopieren per Programm.
    Das müßte irgendwas wie:
    System.copyArray(...);
    oder so sein.

    MfG Ingo


Anmelden zum Antworten