Dopisywanie elementów do tablicy

0

Witam

Czy jest jakaś nie pętlowa metoda na dopisanie do tablicy nowych elementów?

 File file1o = new File("ala");  
         File file1z = new File("ola");  
         File[] files1 = file1o.listFiles();
         files1=file1z.listFiles();//tu powinno znaleźć się dodawanie nowych elementów do końca tablicy, a nie tak jak to mam miejsce teraz wywalenie starych elementów i wstawienie nowych

dodanie znacznika <code class="java"> - fp

1

Użyj kolekcji? o_O

0

Co rozumiesz przez "nie pętlowa"?
W twoim przypadku problem jest trochę inny tak naprawę. Do tablicy files1 chcesz dodać kolejną file1z tak jak to się robi w javascript czyli tablica= tablica1+tablica2. W Javie to tak nie działa. Możesz taki efekt osiągnąć na dwa sposoby.

  1. Użyć klasy ArrayUtils z biblioteki Apache Commons. ma na metodę addAll, która sumuje diw tablice.
  2. Użyć metody System.arraycopy z podstawowego API javy.

W drugim przypadku algorytm będzie wyglądał tak:

  1. utwórz pustą tablicę o wielkości równej sumie wielkości dodawanych tablic.
  2. skopiuj pierwszą tablicę do nowej tablicy za pomocą System.arraycopy na komórki od 0 do długości pierwszej tablicy.
  3. skopiuj drugą tablicę do nowej tablicy za pomocą System.arraycopy na komórki od długości pierwszej tablicy do długości nowej tablicy.

@Shalom, metoda z kolekcjami, jak rozumiem ArrayList > addAll > getArray, jest fajna, ale ma tą wadę, że zbyt mocno ukrywa zasady działania tablic w Javie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1