Avatar billede themepark Nybegynder
30. november 2005 - 12:00 Der er 6 kommentarer

Oprettelse af arrays ud fra andre arrays

Jeg har f.eks. følgende 2 arrays.

int[] a = {0, 1, 2, 3, 4};
int[] b = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

Det ville jo være nemmere at kunne tilføje alle elementerne fra array a til array b først og så tilføje de resterende tal 5-9, altså således.

int[] b = {a, 5, 6, 7, 8, 9}

Men det er åbenbart uladsiggøreligt eller også gør jeg det forkert. Nuvel...hvordan, hvis overhovedet kan jeg så gøre det med én sætning?
Avatar billede mikkelbm Nybegynder
30. november 2005 - 12:33 #1
Det kan det.

System.arraycopy kan gøre det for dig.
Avatar billede mikkelbm Nybegynder
30. november 2005 - 12:34 #2
Eller hmm... Jeg troede du ville smelte de to arrays sammen.

Hvorfor bruger du ikke en dynamisk collection som en ArrayList?
Avatar billede themepark Nybegynder
30. november 2005 - 21:40 #3
Det er vel på en måde også det jeg vil :) Jeg vil kopiere alle elementerne fra a over i b, samtidig med at jeg opretter arrayet med de ekstra elementer. Jeg kunne godt bruge ArrayList, humlen er sådan set bare at jeg gerne vil kunne gøre det med en enkelt linje hvis muligt, i stedet for at skulle itere igennem alle elementerne :)
Avatar billede mikkelbm Nybegynder
30. november 2005 - 23:00 #4
ArrayList list1 = new ArrayList ();
list1.add (0);
list1.add (1);
list1.add (2);
list1.add (3);
list1.add (4);

ArrayList list2 = new ArrayList ();
list2.add (list1);
list2.add (5);
list2.add (6);
list2.add (7);
list2.add (8);
list2.add (9);

Det der med én linje tror jeg godt du kan glemme. Men med ovenstående eksempel slipper du for at iterere noget igennem.
Avatar billede mikkelbm Nybegynder
30. november 2005 - 23:05 #5
Jah, eller én linje har du jo med:
list1.add (list2);

Men det er så uden at du har tilføjet nogle elementer i list2.
Avatar billede stephanryer Nybegynder
16. december 2005 - 00:17 #6
list2.addAll (list1); hedder det :D Ellers indsættes ArrayList'en bare som objektet på første plads.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester