Jak sprawdzić, czy dwie tablice zawierają te same elementy w Javie

Jak sprawdzić, czy dwie tablice zawierają te same elementy w Javie
W programowaniu Java mogą wystąpić przypadki, w których deweloper ma wymóg pominięcia powtarzających się wpisów w celu usprawnienia złożoności kodu. Na przykład eliminowanie identycznych wartości w różnych lokalizacjach kodu poprzez sortowanie. W takich scenariuszach sprawdzanie, czy dwie tablice zawierają identyczne elementy w Javie, jest bardzo pomocne w analizie powtarzanych i niepotrzebnych wartości.

Ten artykuł opracuje podejścia, aby sprawdzić, czy dwie tablice gromadzą identyczne elementy w Javie.

Jak sprawdzić, czy dwie tablice zawierają te same elementy w Javie?

Aby sprawdzić, czy dwie tablice gromadzą te same elementy w Javie, zastosuj następujące podejścia w połączeniu z „Tablice.sortować()" I "Tablice.ToString ()”Metody:

  • "równa się()" Metoda.
  • "Deepequals ()" Metoda.

Przed przejściem do podejść upewnij się, że dołącz następujący pakiet do pracy „Tablice”:

Importuj Java.Util.Tablice;

Podejście 1: Sprawdź, czy dwie tablice zawierają te same elementy w Javie za pomocą „tablicy.Metoda equals () ”

„„Tablice.sortować()„Metodę można zastosować do całkowitego sortowania tablicy lub jej części, określając indeksy początkowe i końcowe oraz„Tablice.równa się()”Metoda sprawdza, czy dwie tablice są równe, czy nie. „„Tablice.ToString ()„Metoda w Javie zwraca jednak podaną wartość w„strunowy”Format.

Podejścia te można zastosować w połączeniu w celu najpierw sortowania elementów tablicy, przekształcenie ich w reprezentację ciągów, a następnie sprawdzić identyczne elementy w obu tablicach.

Składnia

Szyk.sort (tablica, start, koniec);

W powyższej składni:

  • "szyk”Odnosi się do tablicy, którą należy sortować.
  • "początek”To indeks startowy, skąd zainicjować sortowanie.
  • "koniec”Odpowiada indeksowi, w którym sortowanie musi się skończyć.

Public Static Boolean równa się (int [] a, int [] a2)

Tutaj, "A" I "A2”Wskaż tablice, które należy przetestować pod kątem równości.

Publiczne statyczne toString (int [] x)

W tej składni:

  • "int [] x”Wskazuje tablicę, dla której należy zwrócić reprezentację ciągu.

Przykład

Przeglądmy następujący przykład:

klasa publiczna sameElements
public static void main (string args [])
int [] array1 = 2, 1, 3;
int [] array2 = 3, 2, 1;
System.na zewnątrz.println („Pierwsza tablica to:”+tablice.ToString (Array1));
System.na zewnątrz.println („Druga tablica to:”+tablice.ToString (Array2));
Tablice.sort (array1);
Tablice.sort (array2);
System.na zewnątrz.println („Sortowana pierwsza tablica to:”+tablice.ToString (Array1));
System.na zewnątrz.println („posortowana druga tablica to:”+tablice.ToString (Array2));
System.na zewnątrz.println („Czy tablice zawierają te same elementy? "
+Tablice.równa się (array1, array2));

W tym kodzie zastosuj następujące kroki:

  • Po pierwsze, zadeklaruj dwie tablice „int”Typy danych mają identyczne elementy, ale w innej kolejności i wyświetlaj je.
  • Następnie zastosuj „sortować()”Metoda dwukrotnie sortować obie zadeklarowane tablice.
  • Teraz zastosuj „ToString ()„Metoda zwrotu posortowanych tablic w formie„Strunowy".
  • Na koniec sprawdź zawarte same elementy w obu tablicach za pośrednictwem „równa się()" metoda.

Wyjście

W tym wyjściu można zaobserwować, że elementy tablicy są sortowane i odpowiednio sprawdzane.

Podejście 2: Sprawdź, czy dwie tablice zawierają te same elementy w Javie za pomocą „tablic.Metody Deepequals () ”

„„Tablice.Deepequals ()”Metoda jest wykorzystywana do sprawdzenia, czy dwie tablice pojedyncze lub wielowymiarowe są równe, czy nie. Jednak w takim przypadku metodę tej można zastosować do sprawdzenia jednowymiarowych tablic ciągu.

Składnia

publiczne statyczne boolean deepequals (obiekt [] OB1, Object [] OB2)

W powyższej składni „OB1" I "OB2”Odpowiadają tablicom, które należy sprawdzić pod kątem równości.

Przykład

Przejdźmy przez podwładny przykład:

klasa publiczna sameElements2
public static void main (string args [])
String [] array1 = „Harry”, „David”, „Tim”;
String [] array2 = „David”, „Tim”, „Harry”;
System.na zewnątrz.println („Pierwsza tablica to:”+tablice.ToString (Array1));
System.na zewnątrz.println („Druga tablica to:”+tablice.ToString (Array2));
Tablice.sort (array1);
Tablice.sort (array2);
System.na zewnątrz.println („Sortowana pierwsza tablica to:”+tablice.ToString (Array1));
System.na zewnątrz.println („posortowana druga tablica to:”+tablice.ToString (Array2));
Wynik booletowy = tablice.Deepequals (Array1, Array2);
System.na zewnątrz.println („Czy tablice zawierają te same elementy? "+wynik);

Zgodnie z tym fragmentem kodu wykonaj następujące kroki:

  • Po pierwsze, deklaruj dwa „Strunowy„Tablice mające określone wartości ciągów.
  • Podobnie w następnym kroku zastosuj „ToString ()”Metoda i wyświetl tablice.
  • Teraz podobnie zastosuj „sortować()”Metoda z każdą z zdefiniowanych tablic w celu sortowania elementów tablicy.
  • Na koniec zastosuj „Deepequals ()„Metoda zastosowania kontroli identycznych elementów w tablicach, jako jego argument.

Wyjście

W tym wyniku można sugerować, że odpowiedni wynik w stosunku do zastosowanego czeku jest zwracany.

Notatka: Jeśli przed sortowaniem elementów tablicy zastosowano sprawdzenie elementów identycznych, oba omawiane podejścia zwracają „FAŁSZ" wynik.

Wniosek

Aby sprawdzić, czy dwie tablice gromadzą te same elementy w Javie, zastosuj „Tablice.sortować()" I "Tablice.ToString ()„Metody w połączeniu z„Tablice.równa się()", albo "Tablice.Deepequals ()”Metody. Podejścia te można najpierw zastosować, sortować tablice, a następnie zwrócić wynik logiczny na podstawie zastosowanej kontroli. Ten blog zademonstrował sprawdzanie identycznych elementów w dwóch tablicach.