Middle
Համեմատեք Iterator և ListIterator ինտերֆեյսները: ինչ են նրանց հիմնական տարբերությունները և ինչ դեպքերում է ավելի լավ օգտագործել յուրաքանչյուրին:
sobes.tech AI
Պատասխան AI-ից
Iterator թույլ է տալիս անցնել հավաքածուի տարրերով մեկ ուղղությամբ (առաջ), ստուգել, արդյոք կա հաջորդ տարր (hasNext()) և ստանալ այն (next()). Կարող է հեռացնել ընթացիկ տարր (remove()). Օգտագործվում է ընդհանուր անցնելու համար ցանկացած Iterable հավաքածուի մեջ:
ListIterator ժառանգում է Iterator-ից և ավելացնում է ֆունկցիոնալություն՝
- Երկու ուղղությամբ շարժում (
hasPrevious(),previous()). - Հաշվարկել ընթացիկ (
nextIndex()) և նախորդ (previousIndex()) տարրերի ինդեքսները։ - Տարր փոխել (
set()). - Տարր ավելացնել (
add()).
ListIterator կիրառելի է միայն List ինտերֆեյսը իրականացնող հավաքածուների համար, քանի որ աշխատում է ինդեքսների հետ:
Օգտագործեք Iterator՝ ընդհանուր անցում և տարրերի հեռացում ցանկացած Iterable հավաքածուում։ Օգտագործեք ListIterator՝ հատուկ գործողությունների համար՝ List-ի հետ (երկու ուղղությամբ շարժում, փոփոխություն, ավելացում ըստ ինդեքսի):