Какъв е процесът за филтриране на списък в Java

Kak V E Proces T Za Filtrirane Na Spis K V Java



Филтриране на списък ” в Java е удобен за разработчици, които работят предимно с данни. Той влиза в сила при актуализиране на функционалностите на кода, изтриване на записите или използване на съдържащите се данни в отделен списък. В такива сценарии подходът за филтриране на списък помага за ефективното управление както на времето, така и на паметта от страна на разработчиците.

Този блог ще ви помогне да филтрирате списък с Java.







Какъв е процесът за филтриране на Java списък?

Списък в Java може да бъде филтриран чрез следните подходи:



Импортирайте дадения по-долу пакет във всички примери на този блог, за да получите достъп до всички функции в рамките на „ java.util ' пакет:



импортиране java.util.* ;

Подход 1: Филтрирайте списък в Java с помощта на цикъла „for“.

Този подход прилага „ за ” цикъл върху създадения „Списък”, така че нов „ ArrayList ” се добавя към филтрирания елемент(и).





Пример

Преглед на посочените по-долу редове код:

публичен клас Списък с филтри {
публичен статичен невалиден основен ( низ [ ] аргументи ) {
списък < низ > даден списък = Масиви . asList ( 'Химилка' , 'Гумичка' , 'острилка' ) ;
Система . навън . println ( „Даден списък ->“ + даден списък ) ;
списък < низ > listFilter = нов ArrayList <> ( ) ;
за ( низ вещ : даден списък ) {
ако ( вещ. започва с ( 'И' ) ) {
listFilter. добавете ( вещ ) ;
} }
Система . навън . println ( „Филтриран списък ->“ + listFilter ) ;
} }

Според този блок код:



  • Създайте списък с „ низ ” типове данни, имащи посочените низови стойности и ги покажете.
  • След това създайте нов „ ArrayList ' на име ' listFilter ”, за да го добавите с елементите, филтрирани от предишния списък.
  • Сега приложете „ за ” цикъл за итерация по дефинирания първи списък и филтрирането му въз основа на приложеното условие, т.е. елемент(и), започващи със знака “ И ”.
  • При изпълнено условие филтрираният списък се добавя с конкретния низ.

Изход

Както се вижда, филтрираният списък е добавен с низ, който отговаря на приложеното условие.

Подход 2: Филтрирайте списък в Java с помощта на цикъла „while“.

При този подход „ докато ” може да се реализира заедно с „ Итератор ” и неговите методи за филтриране на предоставения списък. Тези методи включват „ hasNext()” и “next() ” методи, които извикват следващата стойност от списъка, ако има такава.

Синтаксис

булево hasNext ( )

Този метод връща булев резултат, т.е. 'истина или лъжа' .

публичен Следващ ( )

Тук, ' А ” съответства на „ Итераторен интерфейс ”.

Пример

Сега преминете към следния код:

публичен клас Списък с филтри {
публичен статичен невалиден основен ( низ [ ] аргументи ) {
списък < низ > даден списък = нов ArrayList <> (
Масиви . asList ( 'Java' , 'Програмиране' , 'в' , 'Линукс' ) ) ;
Система . навън . println ( „Даден списък ->“ + даден списък ) ;
Итератор < низ > повторение = даден списък. итератор ( ) ;
докато ( повторение. hasNext ( ) ) {
низ curr = повторение. следващия ( ) ;
ако ( curr. започва с ( 'П' ) ) {
повторение. Премахване ( ) ;
} }
Система . навън . println ( „Филтриран списък ->“ + даден списък ) ;
} }

Според горния код:

  • Създайте „ ArrayList ' от ' низ ” тип с предоставените стойности и го покажете.
  • Сега преминете през елементите на списъка чрез „ Итератор ” клас.
  • Също така приложете „ докато ”, за да проверите дали има следващ елемент в списъка чрез „ hasNext() ' и го извлечете въз основа на приложените ' следващия() ” метод.
  • Сега проверете дали итерираният елемент в списъка отговаря на посоченото условие, както беше обсъдено в предишния пример.
  • При изпълнено условие този конкретен елемент се премахва вместо това и списъкът се филтрира.

Изход

Както е анализирано, елементът, отговарящ на определеното условие, се премахва от списъка по подходящ начин.

Включете дадения по-долу допълнителен пакет в следващия подход, за да позволите работа с „ Колекционери ” клас:

импортиране java.util.stream.Collectors ;

Подход 3: Филтрирайте списък в Java с помощта на метода „filter()“.

The „филтър()“ метод се използва за филтриране на елементи на поток въз основа на дадения предикат. Този метод може да се използва за филтриране на поток от списъци.

Синтаксис

Поток < х > филтър ( Предикат супер х > преди )

В този синтаксис „ преди ” съответства на „ Предикат ”, който може да приеме ламбда израз като аргумент.

Пример

Разгледайте следния код:

публичен клас Списък с филтри2 {
публичен статичен невалиден основен ( низ [ ] аргументи ) {
списък < низ > даден списък = Масиви . asList ( 'Подвижен' , 'Лаптоп' , 'НАСТОЛЕН КОМПЮТЪР' ) ;
Система . навън . println ( „Даден списък ->“ + даден списък ) ;
низ listFilter = даден списък. поток ( ) . филтър ( вещ -> вещ. започва с ( 'М' ) )
. събирам ( Колекционери. присъединяване ( ', ' , '[' , ']' ) ) ;
Система . навън . println ( „Филтриран списък ->“ + listFilter ) ;
} }

В тези кодови редове:

  • По същия начин създайте „ списък ” и покажете стойностите му.
  • След това използвайте „ филтър() ' за филтриране на елементите на потока в списъка въз основа на обсъжданото условие и указване на конвенциите за съдържане на филтрираните елементи чрез ' Колекционери ” клас, съответно.
  • Накрая върнете филтрирания списък.

Изход

В този резултат може да се подразбира, че е добавен нов списък със стойност, удовлетворяваща посоченото условие.

Заключение

Списък в Java може да бъде филтриран с помощта на „ за цикъл, цикъл „while“ или „filter() ” метод. Всички тези подходи филтрират списък въз основа на определено условие директно или чрез ламбда израза. Тази статия демонстрира подходите за филтриране на списък на Java.