An bhfuil difríocht idir iterator agus iterable i Java?


freagra 1:

Meaitseálann ainmneacha na gcomhéadan go foirfe, ba chóir go dtabharfaidís leid duit, mura bhfuil an freagra díreach ann cheana. Rang amháin a chuireann an comhéadan Iterable i bhfeidhm ná - ITERABLE.

Mar sin is féidir é a athdhéanamh sa rang seo.

Mar shampla, úsáideann sé seo do gach lúb:

le haghaidh (alt alt: alt) {System.out.println (alt); }}

Oibríonn an cód seo AMHÁIN ar an gcoinníoll gur aicme é "míreanna" a chuireann an comhéadan inathraithe i bhfeidhm.

Níl ach modh amháin ag an gcomhéadan iterable:

Iterator iterator ();

Seoltar iteoir ar ais agus úsáideann an JVM an t-atreoraitheoir go hinmheánach chun do réad a athrá.

Is éard is iteoir ann ná réad a úsáidtear chun aithris a dhéanamh ar réad eile. Cosúil le réad pointeoir cliste a stórálann an stádas (reatha, deireanach, seo chugainn, hasNext ...).

Mar sin d’fhéadfá a rá - Is crann piorra é Iterable. Is piorra é Iterator. Crann piorra "piorraí ar ais". Ní piorra é crann piorra.

(Ní gá dom léiriú foirfe a admháil, ach bhuel, tá súil agam go bhfaighidh tú an smaoineamh ;-)

Cód foinse inathraithe ar líne (OpenJdk):

Iterable - java.lang.Iterable (.java) - foinse comhéadan GrepCode

Cód foinse an iteora ar líne (OpenJdk):

Iterator - java.util.Iterator (.java) - foinse comhéadan GrepCode


freagra 2:

Go raibh maith agat as an A2A

Má chuireann rud éigin “iterable” i bhfeidhm, is féidir leat an modh .iterator () a ghlaoch agus réad iteora a bheith sonraithe agat. Tarlaíonn sé seo "faoi na clúdaigh" i lúb lúb.

Is sampla oibiachtúil é iterator a chuimhníonn cá bhfuil bailiúchán rudaí ar siúl. Gach uair a iarrann tú é, faigheann tú an chéad eachtra eile. Inseoidh sé duit freisin nuair a bheidh rudaí ag dul in éag.

Tá súil agam go dtabharfaidh réad inathraithe iteoir úr duit gach uair. Ansin is féidir leat iliomad píosaí de chód cliant a bheith acu a théann tríd ar a luas féin.


freagra 3:

Is modh simplí é iteoir a ligeann do roinnt úsáideoirí dul trí bhailiúchán sonraí gan pribhléidí sannacháin (cé gur féidir iad a bhaint). Rianaíonn sé an eilimint reatha agus freisin cá rachaidh sí ina dhiaidh sin.

Is éard atá in iterable ná léiriú simplí ar shraith eilimintí is féidir a athdhéanamh. Ní thugann sé ach smaoineamh dúinn gur féidir bailiúchán áirithe a athdhéanamh, mar shampla is féidir linn tosú ón gcéad eilimint agus an chéad eilimint eile a fháil, ansin an chéad cheann eile agus mar sin de.


freagra 4:

Is modh simplí é iteoir a ligeann do roinnt úsáideoirí dul trí bhailiúchán sonraí gan pribhléidí sannacháin (cé gur féidir iad a bhaint). Rianaíonn sé an eilimint reatha agus freisin cá rachaidh sí ina dhiaidh sin.

Is éard atá in iterable ná léiriú simplí ar shraith eilimintí is féidir a athdhéanamh. Ní thugann sé ach smaoineamh dúinn gur féidir bailiúchán áirithe a athdhéanamh, mar shampla is féidir linn tosú ón gcéad eilimint agus an chéad eilimint eile a fháil, ansin an chéad cheann eile agus mar sin de.