[JAVA] Kort vector vraagje

Pagina: 1
Acties:
  • 112 views sinds 30-01-2008
  • Reageer

  • hstoker
  • Registratie: Mei 2002
  • Laatst online: 05-05 18:18
(jarig!)
Kort vraagje... ik heb een buffer
code:
1
b = new buffer[1024]

Als ik deze vol heb pleurt ik deze in een vector:
code:
1
vector.add(buffer);

Als ik dan weer in buffer data ga pompen:
code:
1
b[0] = data;

veranderd dan de data in de vector ook? ik heb een sterk vermoeden van wel, maar kan nergens vinden of dat zo is.

Dutch: If it bleeds, we can kill it.


  • Freekdernatuur
  • Registratie: Juni 2002
  • Laatst online: 30-08 09:24

Freekdernatuur

Kracht door Eenvoud

Collega's weten vaak ook wel eens wat, vraag het hen.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

JE plaats het object in een vector. Als je iets aan dat object gaat veranderen dan veranderd er niets aan die vector want die bevat gewoon die buffer. Je moet je goed realiseren dat die vector die buffer ziet als 1 object. Dus hij gaat niet de elementen uit de array halen om die in de vector te plaatsen.

Als je aan die vector vraag hoe lang hij is, zal hij gewoon zeggen: 1 en niet 1024 (mits je er niet andere elementen in hebt geplaatst).

  • hstoker
  • Registratie: Mei 2002
  • Laatst online: 05-05 18:18
(jarig!)
Maar staat er een kopie van de buffer in de vector? of linkt de vector gewoon naar de buffer?

Dutch: If it bleeds, we can kill it.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Gewoon een link, geen copy. Kijk anders de source maar eens door van vector of lees ff goed de api`s door.

  • hstoker
  • Registratie: Mei 2002
  • Laatst online: 05-05 18:18
(jarig!)
Bedankt... dan weet ik nu waar ik de fout in ga

Dutch: If it bleeds, we can kill it.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 07:40
Als je het niet kan beredeneren, dan kan je het wel in 1 minuut uitproberen.

Ik vraag me trouwens af waarom je arrays in een vector wilt stoppen. Waarom gebruik je niet direct een vector om je 'buffer' objecten in te stoppen?

Verwijderd

Ik gooi ook vaak Array's in een ArrayList hoor, reuze handig kan het zijn.

Ik zou ook even eens naar ArrayLists kijken als ik jou was, ik heb een keer wat verschillen bekeken en ArrayList werkt in de meeste gevallen wat sneller.

Verwijderd

Ik gooi ook vaak Array's in een ArrayList hoor, reuze handig kan het zijn.

Ik zou ook even eens naar ArrayLists kijken als ik jou was, ik heb een keer wat verschillen bekeken en ArrayList werkt in de meeste gevallen wat sneller.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op 14 augustus 2002 @ 15:18:
Ik gooi ook vaak Array's in een ArrayList hoor, reuze handig kan het zijn.

Ik zou ook even eens naar ArrayLists kijken als ik jou was, ik heb een keer wat verschillen bekeken en ArrayList werkt in de meeste gevallen wat sneller.
Een arraylist is ook bijna hetzelfde als een vector alleen is die niet thread-safe

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 07:40
Wat is eigenlijk het verschil tussen een Vector en een ArrayList, behalve dat de eerste wel en de tweede niet thread-safe is? Uit de documentatie kan ik dat niet echt opmaken.

edit: Oh, niets dus. Thanks rwb.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Vector kan eigelijk verwijderd worden, netzoals HashTable. In Collections zitten methodes waarmee je objecten kan verpakken in een thread safe wrapper.

  • TheOneLLama
  • Registratie: Oktober 2000
  • Laatst online: 20-01-2022

TheOneLLama

A llama like no llama before

Alarmnummer schreef op 14 augustus 2002 @ 15:30:
Vector kan eigelijk verwijderd worden, netzoals HashTable. In Collections zitten methodes waarmee je objecten kan verpakken in een thread safe wrapper.
Dat zal wel niet gebeuren aangezien in J2ME/MIDP geen collection framework zit maar alleen.. inderdaad, de Vector en de Hashtable. Collection framework is hellaas te groot door al z'n interfaces enzo.. het zijn dan ook de 1.1 versies van deze classes.

Opera OpenOffice.org Jabber Psi jabber://llama@mordax.com


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
TheOneLLama schreef op 14 augustus 2002 @ 16:41:
[...]


Dat zal wel niet gebeuren aangezien in J2ME/MIDP geen collection framework zit maar alleen.. inderdaad, de Vector en de Hashtable. Collection framework is hellaas te groot door al z'n interfaces enzo.. het zijn dan ook de 1.1 versies van deze classes.
Zowizo worden er geen classes verwijderd omdat het compatible moet blijven met oude code. Het zou wat zijn zeg dat je programma opeens niet meer werkt omdat een gebruiker een nieuwere virtual machine geinstaleerd heeft

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Het is tijd voor een nieuwe versie van java die totaal niet backwards compatible hoeft te zijn.
Pagina: 1