Како користити метод итератора за уклањање елемента из колекције у Јави?

Kako Koristiti Metod Iteratora Za Uklanane Elementa Iz Kolekcije U Javi



итератор ” метода нуди безбедан и лак начин за уклањање или брисање одређених елемената података из колекције док се понавља преко ње. Спречава појаву „ ЦонцуррентМодифицатионЕкцептион ” који настаје када побољшана петља фор покуша да измени колекцију. Чува траг тренутне позиције и нуди програмерима прилику да крену напред и по потреби уклоне основне елементе.

Овај блог демонстрира процес уклањања елемента из колекције коришћењем методе итератора.







Како користити метод итератора за уклањање елемента из колекције у Јави?

Метода итератора је једносмерна и може се користити са различитим типовима колекција, укључујући „ АрраиЛист”, „ЛинкедЛист “, итд. Нуди јединствен начин уклањања елемената из било које колекције која имплементира „ Итерабле ' интерфејс.



Хајде да погледамо неке примере да бисмо боље разумели метод итератора:



Пример 1: Уклањање одређених елемената из колекције коришћењем методе итератора

Метода итератора се може користити са „ ако ” наредбе или петље за избор наведених елемената. А онда „ уклонити ()” метода се користи за обављање операције брисања као што је приказано у наставку:





увоз јава.утил.* ;
класа ИтерЕкам
{
јавности статичне празнина главни ( Низ [ ] аргс )
{
Низ листа < Интегер > демоАррЛист = Нова Низ листа < Интегер > ( ) ;
за ( инт и = 0 ; и <= двадесет ; и = и + 2 )
{
демоАррЛист. додати ( и ) ;
}
Итератор < Интегер > итр = демоАррЛист. итератор ( ) ;
Систем . оут . принтлн ( „Обезбеђена листа низова:“ ) ;

за ( инт и = 0 ; и < демоАррЛист. величина ( ) ; и ++ )
{
Систем . оут . принт ( демоАррЛист. добити ( и ) + ' ' ) ;
}
док ( итр. хасНект ( ) )
{
ако ( итр. следећи ( ) % 3 == 0 )
итр. уклонити ( ) ;
}
Систем . оут . принтлн ( ' Након уклањања чудних елемената АрраиЛист' ) ;
за ( инт и = 0 ; и < демоАррЛист. величина ( ) ; и ++ )
{
Систем . оут . принт ( демоАррЛист. добити ( и ) + ' ' ) ;
}
}
}

Опис горњег кода:

  • Прво се креира АрраиЛист, а затим вишеструки од „ 2 ” се убацује до опсега од „ двадесет ” уз помоћ „ за ” петља.
  • Затим, прогласите „ итератор ” објекат методе за приказ елемената АрраиЛист на конзоли.
  • Затим користите „ хасНект ()” са објектом итератора за кретање кроз све елементе АрраиЛист.
  • Након тога, „ ако ” израз се користи за проверу елемената који су у потпуности дељиви са „ 3 ' унутар тога.
  • Затим ' уклонити ()” метода се користи за брисање елемената које враћа „ ако ' изјава.
  • На крају, ажурирана листа АрраиЛиста је приказана помоћу „ за ” петља.

Након компилације:



Излаз приказује специфичне елементе, који су дељиви са три и уклоњени из АрраиЛист помоћу методе итератора.

Пример 2: Уклањање свих елемената из колекције

Да бисте уклонили све елементе колекције, метод итератора се може користити заједно са његовим „ уклонити ()” метод као што је приказано у наставку:

увоз јава.утил.* ;
класа Празнина
{
јавности статичне празнина главни ( Низ арг [ ] )
{
Вецтор < Интегер > тестВецтор = Нова Вецтор < Интегер > ( ) ;
тестВецтор. додати ( 18 ) ;
тестВецтор. додати ( двадесет један ) ;
тестВецтор. додати ( 25 ) ;
тестВецтор. додати ( 27 ) ;
тестВецтор. додати ( 30 ) ;

Итератор < Интегер > прећи = тестВецтор. итератор ( ) ;
Систем . оут . принт ( 'Постојећи елементи:' ) ;
док ( прећи. хасНект ( ) )
Систем . оут . принт ( прећи. следећи ( ) + ' ' ) ;
Систем . оут . принт ( ' ТестВецтор садржи ' + тестВецтор. величина ( ) + 'елементи' ) ;
прећи = тестВецтор. итератор ( ) ;
док ( прећи. хасНект ( ) )
{
Систем . оут . принт ( ' уклањање ' + прећи. следећи ( ) ) ;
прећи. уклонити ( ) ;
}
Систем . оут . принтлн ( ' Сада, тестВецтор садржи ' + тестВецтор. величина ( ) + 'елементи' ) ;
}
}

Опис кода:

  • Прво, прогласите и иницијализујте „ Вецтор ” са лажним вредностима целобројног типа користећи „ додати ()” метод.
  • Затим креирајте метод итератора који користи „ хасНект ()' и ' следећи ()” методе. Приказује постојеће елементе података и њихову одговарајућу величину.
  • Затим користите „ хасНект ()” дуж објекта итератора унутар „ док ” петља.
  • Након тога, користите „ следећи ()” да изаберете надолазећи елемент, а затим, уклонити () метода се позива да избрише сваки пријемни елемент.
  • На овај начин се уклањају сви елементи Вектора и величина Вектора се приказује на конзоли.

Опис кода:

Горњи код потврђује да су сви елементи из колекције уклоњени.

Пример 3: Уклањање елемента помоћу ЛистИтератор-а

ЛистИтератор ради слично методи итератора. ЛистИтератор врши прелазак са обе стране у правцу напред и назад. Да бисте уклонили одређене елементе из колекције користећи ЛистИтератор у Јави, посетите код у наставку:

увоз јава.утил.АрраиЛист ;
увоз јава.утил.ЛистИтератор ;
јавности класа ЛистИтераторДемо {

//Иницијализација методе маин().
јавности статичне празнина главни ( Низ [ ] аргс )
{ //Декларисање и иницијализација АрраиЛист-а
Низ листа < Низ > одрастао = Нова Низ листа < Низ > ( ) ;
одрастао додати ( 'Ходие' ) ;
одрастао додати ( 'Пол' ) ;
одрастао додати ( 'Хенли' ) ;
одрастао додати ( 'зној' ) ;
одрастао додати ( 'Неформалан' ) ;
одрастао додати ( 'луксуз' ) ;
одрастао додати ( 'Дрифит' ) ;


ЛистИтератор < Низ > литар = одрастао листИтератор ( ) ;
Систем . оут . принтлн ( „Листа пре уклањања“ ) ;
за ( инт и = 0 ; и < одрастао величина ( ) ; и ++ )
Систем . оут . принт ( одрастао добити ( и ) + ' ' ) ;
док ( литар. хасНект ( ) ) {
ако ( литар. следећи ( ) . једнаки ( 'зној' ) ) {
литар. уклонити ( ) ;
}
}
Систем . оут . принтлн ( ' Листа након уклањања' ) ;
за ( инт и = 0 ; и < одрастао величина ( ) ; и ++ )
Систем . оут . принт ( одрастао добити ( и ) + ' ' ) ;
}
}

Опис горњег кода:

  • Прво, прогласите и иницијализујте АрраиЛист са лажним вредностима типа Стринг и прикажите све елементе на конзоли користећи „ за ” петља.
  • Затим креирајте објекат који зове „ хасНект ()” метод унутар „ док ” петља. Она пролази кроз све стамбене елементе.
  • Затим ' ако ” се користи наредба која проверава сваки елемент са одређеним текстом, када се тај елемент подудара са „ уклонити ()” се позива. Брише одређени елемент из „ а Арт ” под називом АрраиЛист.
  • На крају, прикажите измењену листу АрраиЛист на конзоли.

Након компилације:

Снимак потврђује да је наведени елемент података уклоњен из колекције помоћу ЛистИтератор-а.

Закључак

Да бисте уклонили елемент из колекције, „ уклонити ()” користи се метод итератора. Итератор пролази кроз АрраиЛист да пронађе циљане податке. Једном када се пронађе „ уклонити ()” метода се користи за уклањање тог специфичног елемента података. Нуди стандардизовану технику у различитим колекцијама и спречава проблеме и појаву неколико изузетака попут „ ЦонцуррентМодифицатионЕкцептион ”. Уз то, „ ЛистИтератор ” такође може бити од помоћи.