Sözdizimi
dizideque_nesnesi. kaldırIf ( yüklem filter_condition )Neresi dizideque_nesnesi ArrayDeque koleksiyonunu temsil eder.
Parametre
Koşul izleyen bir yüklem alır.
Not
Yüklem null ise, o zaman bir NullPointerException Atıldı.
örnek 1
Burada 5 String tipi elemanlı bir ArrayDeque koleksiyonu oluşturacağız ve “V” ile başlayan stringleri kaldıracağız.
içe aktarmak java.util.* ;
içe aktarmak java.util.ArrayDeque ;
halka açık sınıf Ana
{
halka açık statik geçersiz ana ( Sicim [ ] argümanlar ) {
// String türü ile a_deque_object adında ArrayDeque oluşturun
Dequea_deque_object = yeni DiziDeque ( ) ;
// İçine 5 dize ekleyin.
a_deque_object. Ekle ( 'Salaja' ) ;
a_deque_object. Ekle ( 'Farana' ) ;
a_deque_object. Ekle ( 'Başarı' ) ;
a_deque_object. Ekle ( 'Vijaya' ) ;
a_deque_object. Ekle ( 'dışarıda' ) ;
sistem . dışarı . println ( 'a_deque_object içinde veri mevcut: ' + a_deque_object ) ;
// 'V' ile başlayan dizeleri kaldır.
a_deque_object. kaldırIf ( filtre -> ( filtre. karakter ( 0 ) == 'İÇİNDE' ) ) ;
sistem . dışarı . println ( 'İsimleri çıkardıktan sonra V ile başlar:' + a_deque_object ) ;
}
}
Çıktı:
Böylece Vijaya ve Vani'nin “V” ile başlayan iki dize olduğunu görebiliriz, bu nedenle a_deque_object'den kaldırılırlar.
İşte bu verileri filtrelemek için kullanılan yüklem - filtre -> (filter.charAt(0) == 'V')
Burada filtre değişkeni ifade eder.
Açıklama
Satır 9,18:
Dize türleri ile a_dequeobject adında bir ArrayDeque oluşturun ve görüntüleyin
21,23 satırı:
Şimdi a_deque_object öğesini yüklemle filtreleyin - filtre -> (filter.charAt(0) == 'V')
Örnek 2
Burada 5 Tamsayı tipi elemanlı bir ArrayDeque koleksiyonu oluşturacağız ve 200'den büyük değerleri kaldıracağız.
içe aktarmak java.util.* ;içe aktarmak java.util.ArrayDeque ;
halka açık sınıf Ana
{
halka açık statik geçersiz ana ( Sicim [ ] argümanlar ) {
// Tamsayı türüyle a_deque_object adında ArrayDeque oluşturun
Dequea_deque_object = yeni DiziDeque ( ) ;
// İçine 5 Tamsayı ekleyin.
a_deque_object. Ekle ( 100 ) ;
a_deque_object. Ekle ( 200 ) ;
a_deque_object. Ekle ( 300 ) ;
a_deque_object. Ekle ( 400 ) ;
a_deque_object. Ekle ( 500 ) ;
sistem . dışarı . println ( 'a_deque_object içinde veri mevcut: ' + a_deque_object ) ;
//200'den büyük değerleri kaldırın
a_deque_object. kaldırIf ( filtre -> ( filtre > 200 ) ) ;
sistem . dışarı . println ( '200'den büyük değerleri çıkardıktan sonra: ' + a_deque_object ) ;
}
}
Çıktı:
Böylece 300,400 ve 500'ün 200'den büyük olan üç değer olduğunu görebiliriz. Böylece a_deque_object'den kaldırılırlar.
İşte bu verileri filtrelemek için kullanılan yüklem - filtre -> (filtre > 200)
Burada filtre değişkeni ifade eder.
Açıklama
Satır 9,18:
Tamsayı türleriyle a_dequeobject adında bir ArrayDeque oluşturun ve görüntüleyin
21,22 satırı:
Şimdi a_deque_object öğesini yüklemle filtreleyin - filtre -> (filtre > 200)
Örnek 3: NullPointerException'ı Gösterme
Yüklem olarak Null belirtelim.
içe aktarmak java.util.* ;içe aktarmak java.util.ArrayDeque ;
halka açık sınıf Ana
{
halka açık statik geçersiz ana ( Sicim [ ] argümanlar ) {
// Tamsayı türüyle a_deque_object adında ArrayDeque oluşturun
Dequea_deque_object = yeni DiziDeque ( ) ;
// İçine 5 Tamsayı ekleyin.
a_deque_object. Ekle ( 100 ) ;
a_deque_object. Ekle ( 200 ) ;
a_deque_object. Ekle ( 300 ) ;
a_deque_object. Ekle ( 400 ) ;
a_deque_object. Ekle ( 500 ) ;
sistem . dışarı . println ( 'a_deque_object içinde veri mevcut: ' + a_deque_object ) ;
a_deque_object. kaldırIf ( hükümsüz ) ;
}
}
Çıktı:
bunu görebiliriz NullPointerException yükseltilir.
Çözüm
RemoveIf() yöntemini kullanarak bir ArrayDeque koleksiyon nesnesinden öğelerin bir Predicate ile nasıl kaldırılacağını gördük. NullPointerException ile sonuçlanacağı için null belirtmediğinizden emin olun. Yüklemde farklı koşullar uygulayarak iki örneği tartıştık ve ayrıca NullPointerException'ı gösterdik.