Bagaimana Menggunakan Kaedah Iterator untuk Mengeluarkan Elemen Dari Koleksi di Java?

Bagaimana Menggunakan Kaedah Iterator Untuk Mengeluarkan Elemen Dari Koleksi Di Java



' iterator ” kaedah menawarkan cara yang selamat dan mudah untuk mengalih keluar atau memadam elemen data tertentu daripada koleksi sambil mengulanginya. Ia menghalang berlakunya ' ConcurrentModificationException ” yang timbul apabila gelung untuk dipertingkat cuba mengubah suai koleksi. Ia menyimpan jejak kedudukan semasa dan menawarkan pengaturcara peluang untuk bergerak ke hadapan dan mengalih keluar elemen asas seperti yang diperlukan.

Blog ini menunjukkan proses untuk mengalih keluar elemen daripada koleksi dengan menggunakan kaedah iterator.







Bagaimana Menggunakan Kaedah Iterator untuk Mengeluarkan Elemen Daripada Koleksi di Java?

Kaedah iterator adalah satu arah dan boleh digunakan dengan pelbagai jenis koleksi, termasuk “ ArrayList', 'LinkedList ”, dsb. Ia menawarkan cara yang seragam untuk mengalih keluar elemen daripada mana-mana koleksi yang melaksanakan “ Boleh diulang ” antara muka.



Mari kita lawati beberapa contoh untuk lebih memahami kaedah iterator:



Contoh 1: Mengeluarkan Elemen Tertentu Daripada Koleksi Menggunakan Kaedah Iterator

Kaedah iterator boleh digunakan dengan ' jika ” pernyataan atau gelung untuk memilih elemen yang ditentukan. Dan kemudian ' keluarkan ()” kaedah digunakan untuk melaksanakan operasi pemadaman seperti yang ditunjukkan di bawah:





import java.util.* ;
kelas IterExam
{
awam statik batal utama ( Tali [ ] args )
{
ArrayList < Integer > demoArrList = baru ArrayList < Integer > ( ) ;
untuk ( int i = 0 ; i <= dua puluh ; i = i + 2 )
{
demoArrList. Tambah ( i ) ;
}
Iterator < Integer > itr = demoArrList. iterator ( ) ;
Sistem . keluar . println ( 'Disediakan ArrayList:' ) ;

untuk ( int i = 0 ; i < demoArrList. saiz ( ) ; i ++ )
{
Sistem . keluar . cetak ( demoArrList. dapatkan ( i ) + ' ' ) ;
}
sementara ( itr. mempunyaiSeterusnya ( ) )
{
jika ( itr. seterusnya ( ) % 3 == 0 )
itr. keluarkan ( ) ;
}
Sistem . keluar . println ( ' \n Selepas Mengalih Keluar Elemen Senarai Array Ganjil' ) ;
untuk ( int i = 0 ; i < demoArrList. saiz ( ) ; i ++ )
{
Sistem . keluar . cetak ( demoArrList. dapatkan ( i ) + ' ' ) ;
}
}
}

Penerangan kod di atas:

  • Pertama, ArrayList dicipta dan kemudian gandaan ' 2 ” dimasukkan sehingga julat “ dua puluh 'dengan bantuan daripada' untuk ” gelung.
  • Seterusnya, isytiharkan ' iterator ” objek kaedah untuk memaparkan elemen ArrayList pada konsol.
  • Kemudian, gunakan ' mempunyaiSeterusnya ()” kaedah dengan objek iterator untuk melintasi semua elemen ArrayList yang tinggal.
  • Selepas itu, ' jika pernyataan ' digunakan untuk memeriksa unsur-unsur yang boleh dibahagikan sepenuhnya dengan ' 3 ” di dalamnya.
  • Kemudian, ' keluarkan ()' kaedah digunakan untuk memadam elemen yang dikembalikan oleh ' jika ” kenyataan.
  • Pada akhirnya, ArrayList yang dikemas kini telah dipaparkan menggunakan ' untuk ” gelung.

Selepas kompilasi:



Output memaparkan elemen khusus, yang boleh dibahagikan dengan tiga dan dikeluarkan daripada ArrayList menggunakan kaedah iterator.

Contoh 2: Mengeluarkan Semua Elemen Daripada Koleksi

Untuk mengalih keluar semua elemen tinggal koleksi, kaedah lelaran boleh digunakan bersama dengan ' keluarkan ()” kaedah seperti yang ditunjukkan di bawah:

import java.util.* ;
kelas kekosongan
{
awam statik batal utama ( Tali arg [ ] )
{
vektor < Integer > testVector = baru vektor < Integer > ( ) ;
testVector. Tambah ( 18 ) ;
testVector. Tambah ( dua puluh satu ) ;
testVector. Tambah ( 25 ) ;
testVector. Tambah ( 27 ) ;
testVector. Tambah ( 30 ) ;

Iterator < Integer > merentasi = testVector. iterator ( ) ;
Sistem . keluar . cetak ( 'Elemen sedia ada:' ) ;
sementara ( merentasi. mempunyaiSeterusnya ( ) )
Sistem . keluar . cetak ( merentasi. seterusnya ( ) + ' ' ) ;
Sistem . keluar . cetak ( ' \n TestVector mengandungi ' + testVector. saiz ( ) + 'elemen' ) ;
merentasi = testVector. iterator ( ) ;
sementara ( merentasi. mempunyaiSeterusnya ( ) )
{
Sistem . keluar . cetak ( ' \n mengeluarkan' + merentasi. seterusnya ( ) ) ;
merentasi. keluarkan ( ) ;
}
Sistem . keluar . println ( ' \n Sekarang, testVector mengandungi ' + testVector. saiz ( ) + 'elemen' ) ;
}
}

Penerangan kod:

  • Pertama, isytiharkan dan mulakan ' vektor ” dengan nilai jenis integer tiruan menggunakan “ Tambah ()” kaedah.
  • Seterusnya, buat kaedah iterator yang menggunakan ' mempunyaiSeterusnya ()” dan “ seterusnya ()” kaedah. Ia memaparkan elemen data yang tinggal dan saiznya yang sepadan.
  • Kemudian, gunakan ' mempunyaiSeterusnya ()' harta di sepanjang objek iterator di dalam ' sementara ” gelung.
  • Selepas itu, gunakan ' seterusnya ()” kaedah untuk memilih elemen yang akan datang, dan kemudian, kaedah keluarkan () kaedah dipanggil untuk memadam setiap elemen penerima.
  • Dengan cara ini, semua elemen Vektor dialih keluar dan saiz Vektor dipaparkan pada konsol.

Penerangan kod:

Kod di atas mengesahkan bahawa semua elemen daripada koleksi telah dialih keluar.

Contoh 3: Mengalih keluar Elemen Menggunakan ListIterator

ListIterator berfungsi sama dengan kaedah iterator. ListIterator melakukan traversing pada kedua-dua belah dalam arah hadapan dan belakang. Untuk mengalih keluar elemen tertentu daripada koleksi menggunakan ListIterator dalam Java, lawati kod di bawah:

import java.util.ArrayList ;
import java.util.ListIterator ;
awam kelas ListIteratorDemo {

//Memulakan kaedah utama().
awam statik batal utama ( Tali [ ] args )
{ //Mengisytiharkan dan Memulakan ArrayList
ArrayList < Tali > membesar = baru ArrayList < Tali > ( ) ;
membesar Tambah ( 'Hoodie' ) ;
membesar Tambah ( 'Tiang' ) ;
membesar Tambah ( 'Henleys' ) ;
membesar Tambah ( 'Peluh' ) ;
membesar Tambah ( 'Kasual' ) ;
membesar Tambah ( 'Mewah' ) ;
membesar Tambah ( 'Dryfit' ) ;


ListIterator < Tali > liter = membesar listIterator ( ) ;
Sistem . keluar . println ( 'Senarai sebelum dialih keluar' ) ;
untuk ( int i = 0 ; i < membesar saiz ( ) ; i ++ )
Sistem . keluar . cetak ( membesar dapatkan ( i ) + ' ' ) ;
sementara ( liter. mempunyaiSeterusnya ( ) ) {
jika ( liter. seterusnya ( ) . sama ( 'Peluh' ) ) {
liter. keluarkan ( ) ;
}
}
Sistem . keluar . println ( ' \n Senarai selepas dialih keluar' ) ;
untuk ( int i = 0 ; i < membesar saiz ( ) ; i ++ )
Sistem . keluar . cetak ( membesar dapatkan ( i ) + ' ' ) ;
}
}

Penerangan kod di atas:

  • Mula-mula, isytiharkan dan mulakan ArrayList dengan nilai jenis String dummy dan paparkan semua elemen pada konsol menggunakan ' untuk ” gelung.
  • Seterusnya, buat objek yang memanggil ' mempunyaiSeterusnya ()' kaedah di dalam ' sementara ” gelung. Ia merentasi semua elemen yang tinggal.
  • Kemudian, ' jika pernyataan ” digunakan yang menyemak setiap elemen dengan teks tertentu, apabila elemen itu sepadan dengan “ keluarkan ()” kaedah dipanggil. Ia memadamkan elemen tertentu daripada ' aSeni ” bernama ArrayList.
  • Pada akhirnya, paparkan ArrayList yang diubah suai pada konsol.

Selepas penyusunan:

Gambar itu mengesahkan elemen data yang ditentukan telah dialih keluar daripada koleksi menggunakan ListIterator.

Kesimpulan

Untuk mengalih keluar elemen daripada koleksi, “ keluarkan ()” kaedah iterator digunakan. Iterator melintasi ArrayList untuk mencari data yang disasarkan. Sebaik sahaja didapati ' keluarkan ()” kaedah digunakan untuk mengalih keluar elemen data khusus itu. Ia menawarkan teknik piawai merentas koleksi yang berbeza dan menghalang isu dan berlakunya beberapa pengecualian seperti “ ConcurrentModificationException ”. Seiring dengan itu, ' ListIterator ” juga boleh membantu.