Nekromanti Jag hatar Java (igen)

Max Raven

T12-kultist
Joined
20 Oct 2009
Messages
4,347
Location
Malmö
krank said:
Jag gissar att det betyder, som när jag läste kursen, att iteratorns interna lista inte ska vara en ArrayList.
Verkar rimligt. Kan jag bara returnera min iterator helt enkelt då?

(Hm, hur man lägger till på iteratorer då...)
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,359
Location
Rissne
Max Raven said:
Verkar rimligt. Kan jag bara returnera min iterator helt enkelt då?

(Hm, hur man lägger till på iteratorer då...)
Det skulle jag tro att du kan... Eller ja, alltså tanken är ju att du ska bygga en grej som funkar som en iterator. Implementera iterator-interfacet, eller hur det nu blir (orkar inte kolla). Här har du det interfacet:

http://download.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html

Så du behöver skapa en klass som implements Iterator, och den klassen har en lista. Den listan kan man sedan manipulera genom de tre metoderna som måste finnas för att det ska räknas som en iterator - hasNext, next och remove.

Om jag förstått saken rätt, alltså.
 

Oldtimer

Slava Ukraini!
Joined
5 Feb 2002
Messages
4,499
Location
Göteborg, Lindome
Max Raven said:
Tack för all hjälp! Jag gör, även ifall det kanske inte syns, vissa framsteg. :gremwink:

Nuvarande problem:

Förvirring: Ska implementera metod:

Iterator iterator(); // element iterator

"Iteratorn itererar över alla stackens element." står det längre ner. Lite osäker hur Iterator fungerar - kan man lägga till objekt i den med next()?

Just den här uppgiften får man dessutom inte använda fördefinierade klasser i Javas bibliotek. Alltså får man inte använda Iterator? Vilken i så fall leder till att metoden Iterator iterator "cannot be resolved to a type"? Alltså borde det vara Object iterator? Fast då kan jag bara returnera ett objekt. Hm.
Det betyder förmodligen att du inte bara kan returnera iteratorn som din interna ArrayList har. Det vore ju lite fusk.

Det du behöver göra är alltså att skapa en klass som implementerar interfacet Iterator (även om du får lov att kasta ett UnsupportedOperationException på remove). Väsentligen är det en klass som håller ordning på hur långt i listan man har läst (med next) och berättar om det finns fler element att läsa (med hasNext).

Ett tips, ni får lov att använda Google?
 

Max Raven

T12-kultist
Joined
20 Oct 2009
Messages
4,347
Location
Malmö
Jo, vi får använda google, men sökning på iterator java gjorde mig inte så mycket klokare. Men eftersom man ska returnera iterator får jag förmoda att man lägger till på den, troligen med next()-metoden.

En annan sak jag fastnat lite på ska simulera datainsamling, och i instruktionerna står det att de olika datatyperna ska skickas till huvudprogrammet för insamling periodiskt. Tiden är inget problem, men eftersom det står att datan ska skickas snarare än insamlas, finns det något kommando som gör det? (Jag kommer också ha lite trassel med att skicka en hel hög med data samtidigt, kanske m h a föregående iterator?)

Nu är jag iofs väldigt sen med inlämningen, men det är inte mycket jag kan göra åt det - farit upp och ner och haft en ganska hög arbetsbörda (lärare+mitten av terminen = konferanser, prov och allt ska vara klart "nu"). Hoppas på att jag blir klar i helgen. -.-
 
Top