Синтаксис
объект_массива_объекта. удалитьесли ( предикат filter_condition )Где arraydeque_object представляет коллекцию ArrayDeque.
Параметр
Требуется предикат, следующий за условием.
Примечание
Если предикат нулевой, то Исключение нулевого указателя бросается.
Пример 1
Здесь мы создадим коллекцию ArrayDeque с 5 элементами типа String и удалим строки, начинающиеся с «V».
импорт Java.util.* ;
импорт java.util.ArrayDeque ;
публичный учебный класс Главный
{
публичный статический пустота главный ( Нить [ ] аргументы ) {
// Создаем ArrayDeque с именем a_deque_object типа String
Dequea_deque_object знак равно новый ArrayDeque ( ) ;
// Вставляем в него 5 строк.
a_deque_object. добавлять ( 'Сайлайя' ) ;
a_deque_object. добавлять ( 'Фарана' ) ;
a_deque_object. добавлять ( 'Успех' ) ;
a_deque_object. добавлять ( 'Виджая' ) ;
a_deque_object. добавлять ( 'вне' ) ;
Система . вне . печать ( 'Данные присутствуют в a_deque_object: ' + a_deque_object ) ;
//Удалить строки, начинающиеся с 'V'.
a_deque_object. удалитьесли ( фильтр -> ( фильтр. charAt ( 0 ) == 'В' ) ) ;
Система . вне . печать ( 'После удаления имена начинаются с V :' + a_deque_object ) ;
}
}
Выход:
Итак, мы видим, что Vijaya и Vani — это две строки, начинающиеся с «V», поэтому они удалены из a_deque_object.
Здесь предикат, используемый для фильтрации этих данных, — фильтр -> (filter.charAt(0) == ‘V’)
Здесь фильтр ссылается на переменную.
Объяснение
Строка 9,18:
Создайте ArrayDeque с именем a_dequeobject со строковыми типами и отобразите его.
Строка 21,23:
Теперь отфильтруйте объект a_deque_object с помощью предиката – фильтр -> (filter.charAt(0) == ‘V’)
Пример 2
Здесь мы создадим коллекцию ArrayDeque с 5 элементами типа Integer и удалим значения, превышающие 200.
импорт Java.util.* ;импорт java.util.ArrayDeque ;
публичный учебный класс Главный
{
публичный статический пустота главный ( Нить [ ] аргументы ) {
// Создать ArrayDeque с именем a_deque_object с типом Integer
Dequea_deque_object знак равно новый ArrayDeque ( ) ;
// Вставляем в него 5 Integer.
a_deque_object. добавлять ( 100 ) ;
a_deque_object. добавлять ( 200 ) ;
a_deque_object. добавлять ( 300 ) ;
a_deque_object. добавлять ( 400 ) ;
a_deque_object. добавлять ( 500 ) ;
Система . вне . печать ( 'Данные присутствуют в a_deque_object: ' + a_deque_object ) ;
//Удаляем значения больше 200
a_deque_object. удалитьесли ( фильтр -> ( фильтр > 200 ) ) ;
Система . вне . печать ( 'После удаления значений больше 200:' + a_deque_object ) ;
}
}
Выход:
Итак, мы видим, что 300, 400 и 500 — это три значения, которые больше 200. Поэтому они удаляются из объекта a_deque_object.
Здесь предикат, используемый для фильтрации этих данных, — фильтр -> (фильтр > 200)
Здесь фильтр ссылается на переменную.
Объяснение
Строка 9,18:
Создайте ArrayDeque с именем a_dequeobject с целочисленными типами и отобразите его.
Строка 21,22:
Теперь отфильтруйте объект a_deque_object с помощью предиката – фильтр -> (фильтр > 200)
Пример 3: Демонстрация исключения NullPointerException
Укажем Null в качестве предиката.
импорт Java.util.* ;импорт java.util.ArrayDeque ;
публичный учебный класс Главный
{
публичный статический пустота главный ( Нить [ ] аргументы ) {
// Создать ArrayDeque с именем a_deque_object с типом Integer
Dequea_deque_object знак равно новый ArrayDeque ( ) ;
// Вставляем в него 5 целых чисел.
a_deque_object. добавлять ( 100 ) ;
a_deque_object. добавлять ( 200 ) ;
a_deque_object. добавлять ( 300 ) ;
a_deque_object. добавлять ( 400 ) ;
a_deque_object. добавлять ( 500 ) ;
Система . вне . печать ( 'Данные присутствуют в a_deque_object: ' + a_deque_object ) ;
a_deque_object. удалитьесли ( нулевой ) ;
}
}
Выход:
Мы видим, что Исключение нулевого указателя Поднялся.
Вывод
Мы увидели, как удалить элементы из объекта коллекции ArrayDeque с помощью Predicate, используя метод removeIf(). Убедитесь, что вы не указали значение null, так как это приводит к исключению NullPointerException. Мы обсудили два примера с применением разных условий в предикате, а также продемонстрировали исключение NullPointerException.