Avatar billede kernelx Juniormester
12. juni 2008 - 09:58 Der er 7 kommentarer og
1 løsning

konvertere fra byte[] til java.util.Vector<Byte>

Hi,

er det muligt at konvertere et byte-array (byte[]) til
en Vector som er fyldt op med Byte
(java.util.Vector<Byte>) - eller til Byte[]?


med venlig hilsen
KernelX
Avatar billede arne_v Ekspert
12. juni 2008 - 10:12 #1
Jeg tror at du er noedt til at constructr en ArrayList og saa added byte'sene i en loekke.

(ArrayList foretraekkes normalt fremfotr Vector idag)
Avatar billede kernelx Juniormester
12. juni 2008 - 10:57 #2
ok, saa bruger jeg en ArrayList<Byte>.
Men hvordan kan jeg faa en byte[] i en ArrayList<Byte>?

jeg ved ikke hvor mange value's der er i byte[]. Det er mit stoerste problem.
Avatar billede arne_v Ekspert
12. juni 2008 - 10:59 #3
noget a la:

List<Byte> lst = new ArrayList<Byte>();
for(int i = 0; i < b.length; i++) lst.add(b[i]);
Avatar billede arne_v Ekspert
12. juni 2008 - 11:00 #4
b.length finder antal elementer i b

en ArrayList udvider sig selv naar der er brug for det
Avatar billede kernelx Juniormester
12. juni 2008 - 13:17 #5
mange tak!
husk at skrive svar
Avatar billede kernelx Juniormester
12. juni 2008 - 13:23 #6
er det klogt at faa store binary data ind i en ArrayList<Byte>()?
Avatar billede arne_v Ekspert
12. juni 2008 - 14:13 #7
Det afhaenger jo af hvor stort.

Der er et stort overhead (maaske faktor 10 !) ved at bruge ArrayList<Byte> fremfor
byte[], saa med data over en vis stoerrelse maaske 1 million elementer saa
ville jeg bruge array og selv holde styr paa brugt plads og kopiere over i stoerre
naar noedvendigt.

Og et svar.
Avatar billede kernelx Juniormester
12. juni 2008 - 14:51 #8
mange tak for svaret!
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