“ Filtrowanie listy ” w Javie jest przydatna dla programistów, którzy głównie pracują z danymi. Zachodzi w życie przy aktualizacji funkcjonalności kodu, usuwaniu rekordów lub wykorzystywaniu danych zawartych w osobnym zestawieniu. W takich scenariuszach podejście oparte na filtrowaniu list jest pomocne w efektywnym zarządzaniu zarówno czasem, jak i pamięcią po stronie programistów.
Ten blog poprowadzi do filtrowania listy Java.
Jaki jest proces filtrowania listy Java?
Listę w Javie można filtrować przy użyciu następujących metod:
Zaimportuj poniższy pakiet we wszystkich przykładach tego bloga, aby uzyskać dostęp do wszystkich funkcji w ramach „ java.util ' pakiet:
import java.util.* ;
Podejście 1: Filtruj listę w Javie przy użyciu pętli „for”.
Podejście to stosuje „ Do ” na utworzonej „Liście” w taki sposób, że nowa „ lista tablic ” jest dołączany do filtrowanych elementów.
Przykład
Przegląd poniższych linii kodu:
publiczny klasa Lista filtrów {publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
Lista < Strunowy > podana lista = Tablice . jakoLista ( 'Długopis' , 'Gumka do mazania' , 'Ostrzałka' ) ;
System . na zewnątrz . println ( „Podana lista ->” + podana lista ) ;
Lista < Strunowy > filtr listy = nowy lista tablic <> ( ) ;
Do ( Strunowy przedmiot : podana lista ) {
Jeśli ( przedmiot. zaczynać z ( 'I' ) ) {
filtr listy. dodać ( przedmiot ) ;
} }
System . na zewnątrz . println ( „Lista przefiltrowana ->” + filtr listy ) ;
} }
Zgodnie z tym blokiem kodu:
- Utwórz listę „ Strunowy ” typy danych mające podane wartości łańcuchowe i wyświetlają je.
- Następnie utwórz nowy „ lista tablic ' o imieniu ' filtr listy ”, aby dołączyć do niej elementy odfiltrowane z poprzedniej listy.
- Teraz zastosuj „ Do ”, aby iterować wzdłuż zdefiniowanej pierwszej listy i filtrować ją na podstawie zastosowanego warunku, tj. elementów zaczynających się od znaku „ I ”.
- Po spełnieniu warunku przefiltrowana lista zostaje dołączona do określonego ciągu znaków.
Wyjście
Jak widać, do przefiltrowanej listy dołączany jest ciąg spełniający zastosowany warunek.
Podejście 2: Filtrowanie listy w Javie przy użyciu pętli „while”.
W tym podejściu „ chwila ” pętla może być zaimplementowana wraz z „ Iterator ” i jej metody do filtrowania podanej listy. Metody te obejmują „ hasNext()” i „next() ” metody, które wywołują następną wartość z listy, jeśli taka istnieje.
Składnia
logiczna maNastępny ( )Ta metoda zwraca wynik logiczny, tj. 'prawda czy fałsz' .
publiczny następny ( )Tutaj, ' A ” odpowiada „ Interfejs iteratora ”.
Przykład
Teraz przejdź do następującego kodu:
publiczny klasa Lista filtrów {publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
Lista < Strunowy > podana lista = nowy lista tablic <> (
Tablice . jakoLista ( 'Jawa' , 'Programowanie' , 'W' , „Linux” ) ) ;
System . na zewnątrz . println ( „Podana lista ->” + podana lista ) ;
Iterator < Strunowy > iteracja = podana lista. iterator ( ) ;
chwila ( iteracja. maNastępny ( ) ) {
Strunowy bież = iteracja. Następny ( ) ;
Jeśli ( bież. zaczynać z ( 'P' ) ) {
iteracja. usunąć ( ) ;
} }
System . na zewnątrz . println ( „Lista przefiltrowana ->” + podana lista ) ;
} }
Zgodnie z powyższym kodem:
- Stworzyć ' lista tablic ” z „ Strunowy ” wpisz mający podane wartości i wyświetl go.
- Teraz iteruj elementy listy za pomocą „ Iterator ' klasa.
- Zastosuj również „ chwila ”, aby sprawdzić, czy na liście jest następny element za pomocą „ maNastępny() ” i pobrać ją na podstawie zastosowanego „ Następny() ' metoda.
- Teraz sprawdź, czy iterowany element na liście spełnia podany warunek, jak omówiono w poprzednim przykładzie.
- Po spełnieniu warunku ten konkretny element jest usuwany, a lista jest filtrowana.
Wyjście
Po analizie element spełniający zadany warunek jest odpowiednio usuwany z listy.
Uwzględnij poniższy dodatkowy pakiet w następnym podejściu, aby umożliwić pracę z „ Kolekcjonerzy ' klasa:
import java.util.stream.Collectors ;Podejście 3: Filtrowanie listy w Javie przy użyciu metody „filter()”.
The 'filtr()' służy do filtrowania elementów strumienia na podstawie podanego predykatu. Metodę tę można wykorzystać do filtrowania strumienia list.
Składnia
Strumień < X > filtr ( Orzec Super X > zanim )W tej składni „ zanim ” odpowiada „ Orzec ”, który jako argument może przyjąć wyrażenie lambda.
Przykład
Rozważ następujący kod:
publiczny klasa Lista filtrów2 {publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
Lista < Strunowy > podana lista = Tablice . jakoLista ( 'Mobilny' , 'Laptop' , „PC” ) ;
System . na zewnątrz . println ( „Podana lista ->” + podana lista ) ;
Strunowy filtr listy = podana lista. strumień ( ) . filtr ( przedmiot -> przedmiot. zaczynać z ( 'M' ) )
. zbierać ( Kolekcjonerzy. łączący ( ', ' , '[' , ']' ) ) ;
System . na zewnątrz . println ( „Lista przefiltrowana ->” + filtr listy ) ;
} }
W tych liniach kodu:
- Podobnie utwórz „ Lista ” i wyświetlić jego wartości.
- Następnie skorzystaj z opcji „ filtr() ” do filtrowania elementów strumienia na liście na podstawie omówionego warunku i określenia konwencji przechowywania filtrowanych elementów za pomocą „ Kolekcjonerzy ”, odpowiednio.
- Na koniec zwróć przefiltrowaną listę.
Wyjście
W wyniku tym można domniemywać, że dołączana jest nowa lista z wartością spełniającą zadany warunek.
Wniosek
Listę w Javie można filtrować za pomocą „ for”, pętla „while” lub „filter() ' metoda. Wszystkie te podejścia filtrują listę na podstawie określonego warunku bezpośrednio lub za pomocą wyrażenia lambda. W tym artykule przedstawiono metody filtrowania listy języka Java.