„ итератор ” метода нуди безбедан и лак начин за уклањање или брисање одређених елемената података из колекције док се понавља преко ње. Спречава појаву „ ЦонцуррентМодифицатионЕкцептион ” који настаје када побољшана петља фор покуша да измени колекцију. Чува траг тренутне позиције и нуди програмерима прилику да крену напред и по потреби уклоне основне елементе.
Овај блог демонстрира процес уклањања елемента из колекције коришћењем методе итератора.
Како користити метод итератора за уклањање елемента из колекције у Јави?
Метода итератора је једносмерна и може се користити са различитим типовима колекција, укључујући „ АрраиЛист”, „ЛинкедЛист “, итд. Нуди јединствен начин уклањања елемената из било које колекције која имплементира „ Итерабле ' интерфејс.
Хајде да погледамо неке примере да бисмо боље разумели метод итератора:
Пример 1: Уклањање одређених елемената из колекције коришћењем методе итератора
Метода итератора се може користити са „ ако ” наредбе или петље за избор наведених елемената. А онда „ уклонити ()” метода се користи за обављање операције брисања као што је приказано у наставку:
увоз јава.утил.* ;
класа ИтерЕкам
{
јавности статичне празнина главни ( Низ [ ] аргс )
{
Низ листа < Интегер > демоАррЛист = Нова Низ листа < Интегер > ( ) ;
за ( инт и = 0 ; и <= двадесет ; и = и + 2 )
{
демоАррЛист. додати ( и ) ;
}
Итератор < Интегер > итр = демоАррЛист. итератор ( ) ;
Систем . оут . принтлн ( „Обезбеђена листа низова:“ ) ;
за ( инт и = 0 ; и < демоАррЛист. величина ( ) ; и ++ )
{
Систем . оут . принт ( демоАррЛист. добити ( и ) + ' ' ) ;
}
док ( итр. хасНект ( ) )
{
ако ( итр. следећи ( ) % 3 == 0 )
итр. уклонити ( ) ;
}
Систем . оут . принтлн ( ' \н Након уклањања чудних елемената АрраиЛист' ) ;
за ( инт и = 0 ; и < демоАррЛист. величина ( ) ; и ++ )
{
Систем . оут . принт ( демоАррЛист. добити ( и ) + ' ' ) ;
}
}
}
Опис горњег кода:
- Прво се креира АрраиЛист, а затим вишеструки од „ 2 ” се убацује до опсега од „ двадесет ” уз помоћ „ за ” петља.
- Затим, прогласите „ итератор ” објекат методе за приказ елемената АрраиЛист на конзоли.
- Затим користите „ хасНект ()” са објектом итератора за кретање кроз све елементе АрраиЛист.
- Након тога, „ ако ” израз се користи за проверу елемената који су у потпуности дељиви са „ 3 ' унутар тога.
- Затим ' уклонити ()” метода се користи за брисање елемената које враћа „ ако ' изјава.
- На крају, ажурирана листа АрраиЛиста је приказана помоћу „ за ” петља.
Након компилације:
Излаз приказује специфичне елементе, који су дељиви са три и уклоњени из АрраиЛист помоћу методе итератора.
Пример 2: Уклањање свих елемената из колекције
Да бисте уклонили све елементе колекције, метод итератора се може користити заједно са његовим „ уклонити ()” метод као што је приказано у наставку:
увоз јава.утил.* ;класа Празнина
{
јавности статичне празнина главни ( Низ арг [ ] )
{
Вецтор < Интегер > тестВецтор = Нова Вецтор < Интегер > ( ) ;
тестВецтор. додати ( 18 ) ;
тестВецтор. додати ( двадесет један ) ;
тестВецтор. додати ( 25 ) ;
тестВецтор. додати ( 27 ) ;
тестВецтор. додати ( 30 ) ;
Итератор < Интегер > прећи = тестВецтор. итератор ( ) ;
Систем . оут . принт ( 'Постојећи елементи:' ) ;
док ( прећи. хасНект ( ) )
Систем . оут . принт ( прећи. следећи ( ) + ' ' ) ;
Систем . оут . принт ( ' \н ТестВецтор садржи ' + тестВецтор. величина ( ) + 'елементи' ) ;
прећи = тестВецтор. итератор ( ) ;
док ( прећи. хасНект ( ) )
{
Систем . оут . принт ( ' \н уклањање ' + прећи. следећи ( ) ) ;
прећи. уклонити ( ) ;
}
Систем . оут . принтлн ( ' \н Сада, тестВецтор садржи ' + тестВецтор. величина ( ) + 'елементи' ) ;
}
}
Опис кода:
- Прво, прогласите и иницијализујте „ Вецтор ” са лажним вредностима целобројног типа користећи „ додати ()” метод.
- Затим креирајте метод итератора који користи „ хасНект ()' и ' следећи ()” методе. Приказује постојеће елементе података и њихову одговарајућу величину.
- Затим користите „ хасНект ()” дуж објекта итератора унутар „ док ” петља.
- Након тога, користите „ следећи ()” да изаберете надолазећи елемент, а затим, уклонити () метода се позива да избрише сваки пријемни елемент.
- На овај начин се уклањају сви елементи Вектора и величина Вектора се приказује на конзоли.
Опис кода:
Горњи код потврђује да су сви елементи из колекције уклоњени.
Пример 3: Уклањање елемента помоћу ЛистИтератор-а
ЛистИтератор ради слично методи итератора. ЛистИтератор врши прелазак са обе стране у правцу напред и назад. Да бисте уклонили одређене елементе из колекције користећи ЛистИтератор у Јави, посетите код у наставку:
увоз јава.утил.АрраиЛист ;увоз јава.утил.ЛистИтератор ;
јавности класа ЛистИтераторДемо {
//Иницијализација методе маин().
јавности статичне празнина главни ( Низ [ ] аргс )
{ //Декларисање и иницијализација АрраиЛист-а
Низ листа < Низ > одрастао = Нова Низ листа < Низ > ( ) ;
одрастао додати ( 'Ходие' ) ;
одрастао додати ( 'Пол' ) ;
одрастао додати ( 'Хенли' ) ;
одрастао додати ( 'зној' ) ;
одрастао додати ( 'Неформалан' ) ;
одрастао додати ( 'луксуз' ) ;
одрастао додати ( 'Дрифит' ) ;
ЛистИтератор < Низ > литар = одрастао листИтератор ( ) ;
Систем . оут . принтлн ( „Листа пре уклањања“ ) ;
за ( инт и = 0 ; и < одрастао величина ( ) ; и ++ )
Систем . оут . принт ( одрастао добити ( и ) + ' ' ) ;
док ( литар. хасНект ( ) ) {
ако ( литар. следећи ( ) . једнаки ( 'зној' ) ) {
литар. уклонити ( ) ;
}
}
Систем . оут . принтлн ( ' \н Листа након уклањања' ) ;
за ( инт и = 0 ; и < одрастао величина ( ) ; и ++ )
Систем . оут . принт ( одрастао добити ( и ) + ' ' ) ;
}
}
Опис горњег кода:
- Прво, прогласите и иницијализујте АрраиЛист са лажним вредностима типа Стринг и прикажите све елементе на конзоли користећи „ за ” петља.
- Затим креирајте објекат који зове „ хасНект ()” метод унутар „ док ” петља. Она пролази кроз све стамбене елементе.
- Затим ' ако ” се користи наредба која проверава сваки елемент са одређеним текстом, када се тај елемент подудара са „ уклонити ()” се позива. Брише одређени елемент из „ а Арт ” под називом АрраиЛист.
- На крају, прикажите измењену листу АрраиЛист на конзоли.
Након компилације:
Снимак потврђује да је наведени елемент података уклоњен из колекције помоћу ЛистИтератор-а.
Закључак
Да бисте уклонили елемент из колекције, „ уклонити ()” користи се метод итератора. Итератор пролази кроз АрраиЛист да пронађе циљане податке. Једном када се пронађе „ уклонити ()” метода се користи за уклањање тог специфичног елемента података. Нуди стандардизовану технику у различитим колекцијама и спречава проблеме и појаву неколико изузетака попут „ ЦонцуррентМодифицатионЕкцептион ”. Уз то, „ ЛистИтератор ” такође може бити од помоћи.