“ Фильтрация списка ” в Java удобен для разработчиков, которые в основном работают с данными. Он вступает в силу при обновлении функций кода, удалении записей или использовании содержащихся данных в отдельном списке. В таких сценариях подход с фильтрацией списка помогает разработчикам эффективно управлять как временем, так и памятью.
Этот блог поможет отфильтровать список Java.
Каков процесс фильтрации списка Java?
Список в Java можно фильтровать, используя следующие подходы:
Импортируйте указанный ниже пакет во все примеры этого блога, чтобы получить доступ ко всем функциям в « java.util ' упаковка:
Импортировать Java.util.* ;
Подход 1: фильтрация списка в Java с использованием цикла for
Этот подход применяет « для » на созданном «List», так что новый « ArrayList ” добавляется отфильтрованный элемент(ы).
Пример
Обзор приведенных ниже строк кода:
публичный сорт Список фильтров {публичный статический пустота основной ( Нить [ ] аргументы ) {
Список < Нить > данный список '=' Массивы . список ( 'Ручка' , 'Ластик' , 'Точилка' ) ;
Система . вне . печать ( 'Данный список ->' + данный список ) ;
Список < Нить > списокФильтр '=' новый ArrayList <> ( ) ;
для ( Нить элемент : данный список ) {
если ( элемент. начинается с ( 'И' ) ) {
списокФильтр. добавлять ( элемент ) ;
} }
Система . вне . печать ( 'Отфильтрованный список ->' + списокФильтр ) ;
} }
Согласно этому блоку кода:
- Создайте список « Нить ” типы данных, имеющие указанные строковые значения, и отобразить их.
- После этого создайте новый « ArrayList 'по имени' списокФильтр », чтобы добавить к нему элементы, отфильтрованные из предыдущего списка.
- Теперь примените « для » для итерации по заданному первому списку и его фильтрации на основе примененного условия, т. е. элементов, начинающихся с символа « И ».
- При выполнении условия к отфильтрованному списку добавляется определенная строка.
Выход
Как видно, к отфильтрованному списку добавляется строка, соответствующая примененному условию.
Подход 2: фильтрация списка в Java с использованием цикла «пока»
При таком подходе « пока » может быть реализован вместе с « Итератор ” и его методы для фильтрации предоставленного списка. Эти методы включают в себя « hasNext()» и «следующий()». », которые вызывают следующее значение из списка, если оно есть.
Синтаксис
логический hasNext ( )Этот метод возвращает логический результат, т.е. 'правда или ложь' .
публичный Следующий ( )Здесь, ' А ” соответствует “ Интерфейс итератора ».
Пример
Теперь перейдите к следующему коду:
публичный сорт Список фильтров {публичный статический пустота основной ( Нить [ ] аргументы ) {
Список < Нить > данный список '=' новый ArrayList <> (
Массивы . список ( 'Джава' , 'Программирование' , 'в' , 'Линукс' ) ) ;
Система . вне . печать ( 'Данный список ->' + данный список ) ;
Итератор < Нить > итерация '=' данныйСписок. итератор ( ) ;
пока ( итерация. hasNext ( ) ) {
Нить кур '=' итерация. следующий ( ) ;
если ( текущий начинается с ( 'П' ) ) {
итерация. удалять ( ) ;
} }
Система . вне . печать ( 'Отфильтрованный список ->' + данный список ) ;
} }
Согласно приведенному выше коду:
- Создать ' ArrayList ' принадлежащий ' Нить ” введите с предоставленными значениями и отобразите его.
- Теперь выполните итерацию по элементам списка с помощью « Итератор ' сорт.
- Также примените « пока », чтобы проверить, есть ли следующий элемент в списке через « hasNext() ” метод и извлечь его на основе примененного “ следующий() метод.
- Теперь проверьте, удовлетворяет ли итерируемый элемент в списке указанному условию, как обсуждалось в предыдущем примере.
- При выполнении условия этот конкретный элемент вместо этого удаляется, а список фильтруется.
Выход
По результатам анализа элемент, отвечающий заданному условию, удаляется из списка надлежащим образом.
Включите приведенный ниже дополнительный пакет в следующий подход, чтобы разрешить работу с « Коллекционеры ' сорт:
Импортировать java.util.stream.Коллекторы ;Подход 3: фильтрация списка в Java с использованием метода «filter()»
'фильтр()' метод используется для фильтрации элементов потока на основе заданного предиката. Этот метод можно использовать для фильтрации потока списков.
Синтаксис
Транслировать < Икс > фильтр ( Предикат супер Икс > до )В этом синтаксисе « до ” соответствует “ Предикат », который может принимать лямбда-выражение в качестве аргумента.
Пример
Рассмотрим следующий код:
публичный сорт Список фильтров2 {публичный статический пустота основной ( Нить [ ] аргументы ) {
Список < Нить > данный список '=' Массивы . список ( 'Мобильный' , 'Ноутбук' , 'ПК' ) ;
Система . вне . печать ( 'Данный список ->' + данный список ) ;
Нить списокФильтр '=' данныйСписок. транслировать ( ) . фильтр ( элемент -> элемент. начинается с ( 'М' ) )
. собирать ( Коллекционеры. присоединение ( ', ' , '[' , ']' ) ) ;
Система . вне . печать ( 'Отфильтрованный список ->' + списокФильтр ) ;
} }
В этих строках кода:
- Аналогичным образом создайте « Список ” и отображать его значения.
- После этого используйте « фильтр() ', чтобы отфильтровать элементы потока в списке на основе обсуждаемого условия и указать соглашения для содержания отфильтрованных элементов с помощью ' Коллекционеры класса соответственно.
- Наконец, верните отфильтрованный список.
Выход
В этом результате можно предположить, что к новому списку добавляется значение, удовлетворяющее указанному условию.
Заключение
Список в Java можно отфильтровать с помощью « цикл for», цикл while или фильтр filter(). метод. Все эти подходы фильтруют список на основе заданного условия напрямую или с помощью лямбда-выражения. В этой статье продемонстрированы подходы к фильтрации списка Java.