Vergleichen ArrayLists in Java

Sarwan Soomro 12 Oktober 2023
  1. Vergleichen Array-Listen in Java
  2. Vergleich zweier Array-Listen in Java
  3. Sortieren von Array-Listen vor dem Vergleich in Java
Vergleichen ArrayLists in Java

Java bietet einfache Methoden zum Vergleichen von String-Klassen und Array-Listen und so weiter. Also halten wir es für Sie einfach und sauber.

In diesem Tutorial werden wir zunächst zwei Array-Listen mit einer Vergleichsmethode in Java vergleichen. Wir wenden dieselbe Methode auch auf Java-Strings an, bevor wir sie auf Array-Listen anwenden.

Schließlich demonstrieren wir, wie Sie eine ungeordnete Array-Liste vor dem Vergleich sortieren können.

Vergleichen Array-Listen in Java

Java hat eine eingebaute Methode, um Objekte, Größe und Elemente innerhalb von Array-Listen zu vergleichen. Obwohl es viele Methoden gibt, die wir verwenden können, um dieselbe Ausgabe zu erhalten, verwenden wir die folgende Methode, da sie die einfachste ist.

die .equals()-Funktion in Java

Diese Funktion in Java vergleicht das vom Benutzer angegebene Objekt mit dieser Liste.

Syntaxstruktur:

ArrayList1.equals(ArrayList2)

Parameter: Nur ein Objekt; In diesem Fall ist ArrayList2 ein Objekt, das als einzelner Parameter übergeben wird.

Diese Methode gibt basierend auf dem Folgenden true oder false von Boolean zurück.

  1. Wenn das benutzerdefinierte Objekt auch eine Liste ist.
  2. Beide Listen haben die gleiche Größe.
  3. Alle verwandten Elementpaare in den beiden Listen sind ebenfalls äquivalent.

Um diese Methode objektiver zu verstehen, sehen Sie sich das folgende Programm an, das wir mit Strings erstellt haben.

Später werden wir dieselbe Logik auf die Array-Listen anwenden.

Verwenden Sie die .equals()-Methode, um Strings in Java zu vergleichen

package comparearrays.com.util;

public class FirstStringDemoEqualsMethd {
  public static void main(String[] args) {
    String one = "USA";
    String two = "USA";
    String three = "Germany";

    // comparing the values of string one and string two
    if (one.equals(two) == true) {
      System.out.println("String one: " + one);
      System.out.println("String one: " + two);
      System.out.println("Both are equal");
    } else {
      System.out.println("Both are not equal");
    }

    // compares string one's values against string three's (since both are the same, true)
    // false (one and three are not the same, false)
    System.out.println("String one and String three are not the same: so, " + one.equals(three));
  }
}

Ausgabe:

String one: USA
String one: USA
Both are equal
String one and String three are not the same: so, false

Vergleich zweier Array-Listen in Java

Wir haben .equals() verwendet, um String-Werte im obigen Beispiel zu vergleichen, um zu zeigen, dass die Methode genauso funktioniert, wenn sie auf ArrayList in Java verwendet wird. Wie so?

Überprüfen Sie die folgende Java-Syntax:

ArrayList<String> myList1 = new ArrayList<String>();
ArrayList<String> myList2 = new ArrayList<String>();

Die Array Lists verwenden hier die Klasse String von Java. Ebenso haben wir Strings im vorherigen Beispiel verglichen.

Und jetzt verwenden wir dieselbe Methode für ArrayList<String>.

Alles klar? Machen wir das.

Java-Code:

package comparearrays.com.util;

import java.util.ArrayList;

// main class
public class ArrayListComparisionExample1 {
  // main function
  public static void main(String[] args) {
    // list 1
    ArrayList<String> myList1 = new ArrayList<String>();
    // values
    myList1.add("Apple");
    myList1.add("Orange");
    myList1.add("Grapes");
    myList1.add("Water Melon");
    // list 2
    ArrayList<String> myList2 = new ArrayList<String>();
    // values
    myList2.add("Apple");
    myList2.add("Orange");
    myList2.add("Grapes");
    myList2.add("Water Melon");
    // print list 1
    System.out.println("Values from list 1: " + myList1);
    // print list 2
    System.out.println("Values from list 2: " + myList2);

    // apply .equals() method for comparision
    if (myList1.equals(myList2) != false) {
      System.out.println("Both Array Lists are equal!");
    } else {
      System.out.println("Both Array Lists are not equal!");
    }

    // add new values to list to determine if condition works
    myList1.add("Pine Apple");
    // print updated list
    System.out.println("Updated valued from list 1: " + myList1);

    // compare again

    if (myList1.equals(myList2) != false) {
      System.out.println("Both Array Lists are equal!");
    } else {
      System.out.println("Both Array Lists are not equal!");
    }
  }
}

Ausgabe:

Values from list 1: [Apple, Orange, Grapes, Water Melon]
Values from list 2: [Apple, Orange, Grapes, Water Melon]
Both Array Lists are equal!
Updated valued from list 1: [Apple, Orange, Grapes, Water Melon, Pine Apple]
Both Array Lists are not equal!

Sortieren von Array-Listen vor dem Vergleich in Java

Was ist, wenn Ihre Array-Listen die gleiche Größe und Elemente haben, aber die Werte nicht sortiert sind?

ArrayList<String> myList1 = new ArrayList<String>(Arrays.asList("1", "2", "3", "4", "5"));
ArrayList<String> myList2 = new ArrayList<String>(Arrays.asList("2", "1", "3", "4", "5"));
Notiz
Die einfache Lösung ist die Verwendung von import java.util.Collections;. Es wird den Rest für Sie erledigen. Hier ist, wie.
package comparearrays.com.util;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class ArrayListsComparisionAndSortingExample2 {
  public static void main(String[] args) {
    ArrayList<String> myList1 = new ArrayList<String>(Arrays.asList("1", "2", "3", "4", "5"));
    // unsorted list
    ArrayList<String> myList2 = new ArrayList<String>(Arrays.asList("2", "1", "3", "4", "5"));
    // sorting lists
    Collections.sort(myList1);
    Collections.sort(myList2);
    System.out.println(myList1.equals(myList2)); //
  }
}

Ausgabe:

true

Wenn wir Collections.sort(myList2); nicht verwenden, ist die Ausgabe false.

Sie können dieselbe sort()-Methode auf ungeordnete Werte anwenden, haben aber dieselben Objekte und Elemente. Dann können Sie .equals() verwenden.

Live-Demo:

Sortieren Sie Array-Listen, bevor Sie sie vergleichen

Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

Verwandter Artikel - Java Method

Verwandter Artikel - Java ArrayList