logo

Jak porównać dwie listy tablic w Javie

Istnieją następujące sposoby porównania dwóch ArrayList w Javie:

  • Jawa równa się() metoda
  • Jawa Usuń wszystko() metoda
  • Jawa zachowaj wszystko() metoda
  • Jawa ArrayList.contains() metoda
  • Jawa treśćRówna się() metoda
  • Jawa Strumień interfejs

Metoda Java równa się ().

Jawa równa się() metoda Lista interfejs porównuje określony obiekt z listą pod kątem równości. Zastępuje równa się() metoda Obiekt klasa.

Składnia

zestaw c++
 boolean equals(Object o) 

Ta metoda akceptuje obiekt należy porównać pod kątem równości z listą. To powraca PRAWDA jeśli określony obiekt jest równy liście, w przeciwnym razie zwraca FAŁSZ .

Przykład

W poniższym przykładzie utworzyliśmy dwie tablice ArrayList pierwsza lista I druga lista . Porównując obie listy za pomocą równa się() metoda zwraca wartość true. Dodaliśmy kolejny element w pliku druga lista aby utworzyć różnicę między pierwszą listą a drugą listą. Teraz, jeśli wykonamy porównanie, wróci FAŁSZ .

 import java.util.*; public class ComapreArraylistExample1 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(); //adds elements to the arraylist firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Mango'); System.out.println(firstList); //second array list List secondList=new ArrayList(); //adds elements to the arraylist secondList.add('Apple'); secondList.add('Pears'); secondList.add('Guava'); secondList.add('Mango'); System.out.println(secondList); //comparing both lists boolean boolval = firstList.equals(secondList); //returns true because lists are equal System.out.println(boolval); //adding another element in the second list secondList.add('Papaya'); //again comparing both lists boolean bool = firstList.equals(secondList); //returns false because lists are not equal System.out.println(bool); } } 

Wyjście

 [Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false 

Metoda Java RemoveAll() (znalezienie brakującego elementu)

Jawa Usuń wszystko() metoda Lista tablic class służy do usuwania wszystkich elementów z listy zawartych w określonej kolekcji. Zastępuje Usuń wszystko() metoda Kolekcja abstrakcyjna klasa.

Składnia

 public boolean removeAll(Collection c) 

Ta metoda akceptuje Kolekcja jako parametr zawierający elementy do usunięcia z tej listy. To powraca PRAWDA jeżeli lista ta uległa zmianie w wyniku połączenia.

Przykład

W poniższym przykładzie utworzyliśmy dwie tablice ArrayList pierwsza lista I druga lista . The Usuń wszystko() metoda usuwa wszystkie elementy pierwszej listy, ponieważ te same elementy są również obecne na drugiej liście, z wyjątkiem Papaja . Więc, Papaja jest brakującym elementem w pierwsza lista . Dlatego powraca Papaja . Metoda zwraca pusta lista [] jeśli obie listy mają te same elementy.

 import java.util.*; public class ComapreArraylistExample2 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(); //adds elements to the array list firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Peach'); //second array list ArrayList secondList=new ArrayList(); //adds elements to the array list secondList.add('Apple'); secondList.add('Pears'); secondList.add('Papaya'); secondList.add('Peach'); //removes all elements from the first list //returns empty list if all the elements of first list match with elements of second list secondList.removeAll(firstList); //prints the element of second list which does not match with the element of the first list System.out.println(secondList); } } 

Wyjście

 [Papaya] 

Zobaczmy inny przykład metody RemoveAll(), która zwraca elementy z pierwszej listy, których nie ma, to druga lista.

Przykład

 import java.util.*; public class ComapreArraylistExample3 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(Arrays.asList(12, 4, 67, 90, 34)); System.out.println('First array list: '); System.out.println(firstList); //second array list List secondList=new ArrayList(Arrays.asList(12, 4, 67, 0, 34)); System.out.println('Second array list: '); System.out.println(secondList); //returns the common elements in both list firstList.removeAll(secondList); System.out.println('Un-common element of the first list: '); System.out.println(firstList); } } 

Wyjście

 First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90] 

Metoda Java keepAll() (zwraca wspólne elementy na obu listach)

Jawa zachowaj wszystko() metoda Lista tablic class zachowuje tylko te elementy listy, które znajdują się również na innej liście. Zastępuje zachowaj wszystko() metoda Kolekcja Abstarct klasa.

Java przerwała pętlę

Składnia

 public boolean retainAll(Collection c) 

Ta metoda akceptuje a Kolekcja jako parametr zawierający elementy, które mają zostać zachowane na liście. To powraca PRAWDA jeżeli lista ta uległa zmianie w wyniku połączenia.

Przykład

W tym przykładzie utworzyliśmy dwie tablice ArrayList pierwsza lista I druga lista za pomocą jakoLista() metoda Tablice klasa. Metoda asList() zwraca widok listy określonej tablicy.

 import java.util.*; public class ComapreArraylistExample4 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(Arrays.asList('M', 'W', 'J', 'K', 'T')); System.out.println('First arraylist: '); System.out.println(firstList); //second arraylist List secondList=new ArrayList(Arrays.asList('M', 'W', 'E', 'K', 'T')); System.out.println('Second arraylist: '); System.out.println(secondList); //returns the common elements in both list secondList.retainAll(firstList); System.out.println('Common elements in both list: '); System.out.println(secondList); } } 

Wyjście

 First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T] 

Metoda Java ArrayList.contains().

Jawa ArrayList.contains() metoda służy do porównywania dwóch elementów różnych ArrayList. Jawa ArrayList.contains() metoda zastępuje metodę zawiera() metoda Kolekcja abstrakcyjna klasa.

Składnia

 public boolean contains(Object o) 

Metoda ta analizuje element, którego obecność na liście ma zostać sprawdzona. To powraca PRAWDA jeśli element jest dopasowany, w przeciwnym razie zwraca FAŁSZ .

Przykład

W tym przykładzie utworzyliśmy dwie tablice ArrayList pierwsza lista I druga lista z Strunowy typ. Porównaliśmy te ArrayList za pomocą zawiera() metoda. Jeśli elementy pierwszej listy pasują do elementów drugiej listy, funkcja zwraca Tak i zapisuje tę wartość w trzecia lista . Podobnie, jeśli element nie pasuje, zwraca NIE .

 import java.util.ArrayList; import java.util.Arrays; public class ComapreArraylistExample5 { public static void main(String [] args) { //first arraylist ArrayList firstList= new ArrayList(Arrays.asList('Good', 'Morning', 'Students')); //second arraylist ArrayList secondList= new ArrayList(Arrays.asList('Good', 'Night', 'frineds')); //storing the comparison output in thirdList ArrayList thirdList= new ArrayList(); //iterator using for-each loop for(String tempList : firstList) //tempList is a variable thirdList.add(secondList.contains(tempList) ? 'Yes' : 'No'); System.out.println(thirdList); } } 

Wyjście

 [Yes, No, No] 

Metoda Java contentEquals().

Jawa treśćRówna się() metoda porównuje Strunowy z Bufor ciągów i zwraca a wartość logiczna wartość. To należy do Strunowy klasa.

Składnia

 public boolean contentEquals(StringBuffer sb) 

Ta metoda akceptuje StringBuffer jako parametr do porównania z String. To powraca PRAWDA jeśli String reprezentuje tę samą sekwencję znaków, co określony StringBuffer, w przeciwnym razie zwraca FAŁSZ .

Przykład

W tym przykładzie utworzyliśmy dwie tablice ArrayList pierwsza lista I druga lista z Strunowy typ. Stworzyliśmy metodę statyczną porównajlistę() który analizuje dwa ArrayList ls1 I ls2 jako argument i zwraca a wartość logiczna wartość. Metoda konwertuje listę na Strunowy . The treśćRówna się() Metoda porównuje String z określonym StringBuffer.

Dodaliśmy kolejny element w drugiej liście, aby stworzyć różnicę między obiema listami i ponownie wywołać funkcję porównajlistę() metoda, która zwraca FAŁSZ .

 import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ComapreArraylistExample6 { //defining method public static boolean compareList(ArrayList ls1, ArrayList ls2) { //converts List into String and checks string are equal or not return ls1.toString().contentEquals(ls2.toString())?true:false; } public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('When Lists are same: '+compareList(firstList, secondList)); //adding another element to the secondList secondList.add('C++'); //output after adding different element System.out.println('When Lists are not same: '+compareList(firstList, secondList)); } } 

Wyjście

 When Lists are same: true When Lists are not same: false 

Interfejs strumieniowy Java

Jawa Strumień jest interfejsem. Należy do Java.util pakiet. Zapewnia filtr() metoda filtrowania elementów strumienia na podstawie podanych elementów. To jest mediator proces.

Składnia

 Stream filter(Predicate predicate) 

Ta metoda akceptuje Orzec (interfejs funkcjonalny) jako argument i zwraca nowy strumień wynikowych elementów.

wiosenne st

metoda zbierania().

Inną metodą zastosowaną w poniższym przykładzie jest zbierać() metoda Strumień interfejs.

Wykonuje zmienną operację redukcji elementów tego strumienia za pomocą kolektora. Kolekcjoner hermetyzuje funkcje używane jako argumenty do zbierania (Dostawca, BiConsumer, BiConsumer). Pozwala ponowne użycie strategii zbierania i składu operacji zbierania. To jest terminal operacja.

Składnia

 R collect(Collector collector) 

Metoda Collectors.toList().

The notować() jest metodą statyczną Kolekcjonerzy klasa. Należy do java.util.Stream.Collectors klasa.

Składnia

 public static Collector<t, ?, list> toList() </t,>

Gdzie T to rodzaj elementów. Zwraca a Kolektor który zbiera wszystkie elementy wejściowe w listę, w kolejności spotkania (nieuporządkowanej).

Przykład

W poniższym przykładzie utworzyliśmy dwie tablice ArrayList pierwsza lista I druga lista typu String. The filtr() Metoda zwraca Listę wspólnych elementów, które są obecne na obu listach.

 import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;)); System.out.println(&apos;First List: &apos;+firstList); ArrayList secondList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;, &apos;Perl&apos;)); System.out.println(&apos;Second List: &apos;+secondList); // Finds common elements System.out.print(&apos;Common elements: &apos; +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } } 

Wyjście

 First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]