package Ġexploration . design Patterns . behavior al . iterator Mode Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠChen J in X in Ġon Ġ 2 0 2 1 / 7 / 8 Ġä¸ĭåįĪ 6 : 2 0 Ċ Ġ*/ Ċ data Ġclass ĠBook ( val Ġname : ĠString ) Ċ class ĠBook case ( private Ġval Ġbooks : ĠList < Book >) Ġ: ĠIterator < Book > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġiterator : ĠIterator < Book > ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . iterator Ġ= Ġbooks . iterator () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Next (): ĠBoolean Ġ= Ġthis . iterator . hasNext () ĊĊĠĠĠ Ġoverride Ġfun Ġnext (): ĠBook Ġ= Ġthis . iterator . next () Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġbook case Ġ= ĠBook case ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Book (" D ive Ġinto ĠKotlin "), ĠBook (" Think ing Ġin ĠJava ")) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġwhile Ġ( book case . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" The Ġbook Ġname Ġis Ġ${ book case . next (). name }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* for Ġ( boot Ġin Ġbook case ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" The Ġbook Ġname Ġis Ġ${ boot . name }") ĊĠĠĠ Ġ}*/ Ċ }