Java ArrayDeque – removeIf()

Java Arraydeque Removeif



'java.util.ArrayDeque.removeIf() wordt gebruikt om bepaalde elementen uit het ArrayDeque-verzamelingsobject te verwijderen met behulp van een parameter - predikaat. Er is een zodanige voorwaarde voor nodig dat als het waar is, elementen in het object die aan deze voorwaarde voldoen, uit het verzamelobject worden verwijderd.

Syntaxis

arraydeque_object. verwijderAls ( predikaat filter_condition )

Waar arraydeque_object vertegenwoordigt de ArrayDeque-collectie.







Parameter



Er is een predikaat nodig dat de voorwaarde volgt.



Opmerking





Als het predikaat nul is, dan is a NullPointerUitzondering wordt gegooid.

voorbeeld 1

Hier zullen we een ArrayDeque-verzameling maken met 5 String-type-elementen en de tekenreeksen verwijderen die beginnen met 'V'.



importeren java.util.* ;
importeren java.util.ArrayDeque ;

openbaar klas Hoofd
{
openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {

// Maak ArrayDeque genaamd a_deque_object met String type
Dequea_deque_object = nieuwe ArrayDeque ( ) ;

//Voeg er 5 strings in.
een_deque_object. toevoegen ( 'Sailja' ) ;
een_deque_object. toevoegen ( 'Farana' ) ;
een_deque_object. toevoegen ( 'Succes' ) ;
een_deque_object. toevoegen ( 'Vijaya' ) ;
een_deque_object. toevoegen ( 'buiten' ) ;

Systeem . uit . println ( 'Gegevens aanwezig in a_deque_object: ' + een_deque_object ) ;

//Verwijder de snaren begint met 'V'.
een_deque_object. verwijderAls ( filter -> ( filter. charAt ( 0 ) == 'IN' ) ) ;

Systeem . uit . println ( 'Na het verwijderen van de namen begint met V : ' + een_deque_object ) ;

}
}

Uitgang:

We kunnen dus zien dat Vijaya en Vani de twee strings zijn die beginnen met 'V', dus worden ze verwijderd uit het a_deque_object.

Hier is het predikaat dat wordt gebruikt om deze gegevens te filteren: filter -> (filter.charAt(0) == 'V')

Hier verwijst het filter naar de variabele.

Uitleg

Lijn 9,18:

Maak een ArrayDeque met de naam a_dequeobject met String-types en geef het weer

Lijn 21,23:

Filter nu het a_deque_object met het predikaat - filter -> (filter.charAt(0) == 'V')

Voorbeeld 2

Hier zullen we een ArrayDeque-verzameling maken met elementen van het type Integer van 5 en de waarden die groter zijn dan 200 verwijderen.

importeren java.util.* ;
importeren java.util.ArrayDeque ;

openbaar klas Hoofd
{
openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {

// Maak ArrayDeque genaamd a_deque_object met Integer type
Dequea_deque_object = nieuwe ArrayDeque ( ) ;

//Voeg er 5 Integer in.
een_deque_object. toevoegen ( 100 ) ;
een_deque_object. toevoegen ( 200 ) ;
een_deque_object. toevoegen ( 300 ) ;
een_deque_object. toevoegen ( 400 ) ;
een_deque_object. toevoegen ( 500 ) ;

Systeem . uit . println ( 'Gegevens aanwezig in a_deque_object: ' + een_deque_object ) ;

//Verwijder de waarden groter dan 200
een_deque_object. verwijderAls ( filter -> ( filter > 200 ) ) ;
Systeem . uit . println ( 'Na het verwijderen van de waarden groter dan 200: ' + een_deque_object ) ;

}
}

Uitgang:

We kunnen dus zien dat 300.400 en 500 de drie waarden zijn die groter zijn dan 200. Ze worden dus verwijderd uit het a_deque_object.

Hier is het predikaat dat wordt gebruikt om deze gegevens te filteren: filter -> (filter > 200)

Hier verwijst het filter naar de variabele.

Uitleg

Lijn 9,18:

Maak een ArrayDeque met de naam a_dequeobject met Integer-typen en toon het

Lijn 21,22:

Filter nu het a_deque_object met het predikaat - filter -> (filter > 200)

Voorbeeld 3: NullPointerException demonstreren

Laten we Null specificeren als een predikaat.

importeren java.util.* ;
importeren java.util.ArrayDeque ;

openbaar klas Hoofd
{
openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {

// Maak ArrayDeque genaamd a_deque_object met Integer type
Dequea_deque_object = nieuwe ArrayDeque ( ) ;

//Voeg er 5 gehele getallen in.
een_deque_object. toevoegen ( 100 ) ;
een_deque_object. toevoegen ( 200 ) ;
een_deque_object. toevoegen ( 300 ) ;
een_deque_object. toevoegen ( 400 ) ;
een_deque_object. toevoegen ( 500 ) ;

Systeem . uit . println ( 'Gegevens aanwezig in a_deque_object: ' + een_deque_object ) ;

een_deque_object. verwijderAls ( nul ) ;

}
}

Uitgang:

Dat kunnen we zien NullPointerUitzondering wordt verhoogd.

Conclusie

We hebben gezien hoe de elementen uit een ArrayDeque-verzamelingsobject met een predicaat kunnen worden verwijderd met behulp van de methode removeIf(). Zorg ervoor dat u geen null opgeeft, omdat dit resulteert in een NullPointerException. We hebben twee voorbeelden besproken door verschillende voorwaarden in het predikaat toe te passen en ook de NullPointerException gedemonstreerd.