Ինչպե՞ս է աշխատում Java iterator-ը:
Ինչպե՞ս է աշխատում Java iterator-ը:

Video: Ինչպե՞ս է աշխատում Java iterator-ը:

Video: Ինչպե՞ս է աշխատում Java iterator-ը:
Video: Stream Api vs Foreach vs Iterator [Java Performance Test] 2024, Մայիս
Anonim

Իտերատոր Ձեզ հնարավորություն է տալիս շրջել հավաքածուի միջով, ստանալով կամ հեռացնելով տարրեր: Հավաքածուի դասերից յուրաքանչյուրն ապահովում է կրկնող () մեթոդ, որը վերադարձնում է an կրկնող մինչև հավաքածուի սկիզբը: Օգտագործելով սա կրկնող օբյեկտ, դուք կարող եք մուտք գործել հավաքածուի յուրաքանչյուր տարր, միաժամանակ մեկ տարր:

Նմանապես, ինչու է մեզ անհրաժեշտ iterator Java-ում:

5 Պատասխաններ. Ինչպես նշել եք կրկնող օգտագործվում է, երբ դուք ցանկանում հեռացնել նյութերը, մինչ դուք կրկնում եք զանգվածի բովանդակությունը: Եթե դուք չեք օգտագործում ան կրկնող բայց պարզապես ունենաք for հանգույց և դրա ներսում օգտագործեք հեռացնել մեթոդը, դուք կստանաք բացառություններ, քանի որ զանգվածի բովանդակությունը փոխվում է, երբ դուք կրկնում եք:

Բացի վերևից, ի՞նչ է կրկնությունը Java-ում: Մեջ Java , կրկնություն Տեխնիկա է, որն օգտագործվում է կոդի բլոկի միջով բազմիցս հաջորդականացնելու համար, մինչև որոշակի պայման գոյություն ունենա կամ այլևս գոյություն չունենա: Կրկնումներ շատ տարածված մոտեցում է, որն օգտագործվում է օղակների հետ: Մենք կարող ենք նաև օգտագործել կրկնություն որպես անվանման հակադարձման և գործակցային ֆունկցիաների մոտեցում։ Եկեք նայենք դրանցից յուրաքանչյուրին:

Հետագայում հարցն այն է, թե ինչպես է Java-ում աշխատում ցուցակի կրկնիչը:

Java ListIterator Methods void add(E e). Տեղադրում է նշված տարրը ցուցակը . բուլյան hasNext(): Վերադարձնում է true, եթե սա ցուցակի կրկնող ունի ավելի շատ տարրեր, երբ անցնում է ցուցակը առաջի ուղղությամբ: E next(): Վերադարձնում է հաջորդ տարրը ցուցակը և առաջ է քաշում կուրսորի դիրքը:

Ո՞ր օղակն է ավելի արագ Java-ում:

Ոչ, հանգույցի տեսակը փոխելը նշանակություն չի ունենա: Միակ բանը, որ կարող է ավելի արագացնել, կլինի օղակների ավելի քիչ բույն դնելը և ավելի քիչ արժեքների վրա օղակը: Միակ տարբերությունը for loop-ի և a-ի միջև մինչդեռ հանգույց է շարահյուսություն դրանք սահմանելու համար։ Կատարողականի տարբերություն ընդհանրապես չկա։

Խորհուրդ ենք տալիս: