|
Post by javaguy on Mar 9, 2006 23:07:49 GMT 1
Een iterator kan je toepassen op alle collecties zo vertellen ze mij. Maar het lukt me niet om een iterator op een Array toe te passen. zoiet van
reeks=String[3]; Iterator it=reeks.iterator(); while (it.hasNext) { enz.... hij hangt telkens op while en zegt dat hij de methode niet kent. doe ik iets mis of is dit gewoon niet mogelijk en is er dan een andere makkelijke manier om arrays te doorlopen? thanks in advance
|
|
|
Post by yentlswolfs on Mar 10, 2006 7:53:05 GMT 1
Haakjes achter hasNext vergeten
|
|
|
Post by javaguy on Mar 10, 2006 18:18:15 GMT 1
ja maar in java was ik die niet vergeten ik was niet accuraat zag ik hij hangt al bij regel twee en dan zegt hij dat hij de methode Iterator niet vindt
reeks=String[3]; Iterator it=reeks.iterator(); while (it.hasNext()) { enz....
|
|
|
Post by Alex Prinsier on Mar 19, 2006 13:34:02 GMT 1
Wanneer je een bepaald element van een collectie wilt moet uwe computer eigenlijk alleen het geheugenadres weten waar hij zijn data moet halen. Bij een Array is da simpel, want die bewaart al zijn data in één groot blok achter elkaar, dus als ge element 3 wilt doet uwe pc eigenlijk startadres+3*grootte van 1 blokje en probleem opgelost. Bij containers ligt het anders. Er bestaan verschillende soorten containers die ieder, afhankelijk van het precieze doel van die container, hun data op verschillende plaatsen in het geheugen bewaren (en niet noodzakelijk in dezelfde volgorde etc...). Het is dus nimeer zo makkelijk om te zeggen basisadres+3*grootte van 1 object in container want dan komt ge verkeerd terecht Dermee da men iterators heeft uitgevonden, ge zegt gewoon tegen die iterator ik wil de volgende en die geeft het geheugenadres. Hoe die da doet laat men over aan de schrijver van die specifieke container klasse. Nu begrijpt ge hopelijk waarom een Array geen iterator heeft, das helemaal ni nodig
|
|
zuyao
New Member
Posts: 11
|
Post by zuyao on Dec 9, 2011 9:36:03 GMT 1
|
|