Πρόγραμμα Java για συγχώνευση δύο λιστών

Σε αυτό το παράδειγμα, θα μάθουμε να συγχωνεύουμε δύο λίστες με τη βοήθεια της μεθόδου addAll () και της κλάσης ροής στην Java.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Τάξη Java ArrayList
  • Λίστα Java

Παράδειγμα 1: Συγχώνευση δύο λιστών χρησιμοποιώντας το addAll ()

 import java.util.ArrayList; import java.util.List; class Main ( public static void main(String() args) ( // create first list List prime = new ArrayList(); prime.add(2); prime.add(3); prime.add(5); System.out.println("First List: " + prime); // create second list List even = new ArrayList(); even.add(4); even.add(6); System.out.println("Second List: " + even); // create merged list List numbers = new ArrayList(); numbers.addAll(prime); numbers.addAll(even); System.out.println("Merged List: " + numbers); ) )

Παραγωγή

 Πρώτη λίστα: (2, 3, 5) Δεύτερη λίστα: (4, 6) Συγχωνευμένη λίστα: (2, 3, 5, 4, 6)

Στο παραπάνω παράδειγμα, έχετε δύο λίστες που ονομάζονται prime και ζυγός. Εδώ, χρησιμοποιήσαμε τη μέθοδο Java ArrayList addAll () για να προσθέσουμε όλα τα στοιχεία από το prime και ακόμη και στη νέα λίστα με τους αριθμούς.

Παράδειγμα 2: Συγχώνευση δύο λιστών χρησιμοποιώντας την τάξη ροής

 import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; class Main ( public static void main(String() args) ( // create first list // asList() converts the array into the arraylist List prime = new ArrayList(Arrays.asList(2, 3, 5)); System.out.println("First List: " + prime); // create second list List even = new ArrayList(Arrays.asList(4, 6)); System.out.println("Second List: " + even); // convert both lists into stream Stream list1 = prime.stream(); Stream list2 = even.stream(); // merge two streams Stream merged = Stream.concat(list1, list2); // convert the merged stream into list List numbers = merged.collect(Collectors.toList()); System.out.println("Merged List: " + numbers); ) )

Παραγωγή

 Πρώτη λίστα: (2, 3, 5) Δεύτερη λίστα: (4, 6) Συγχωνευμένη λίστα: (2, 3, 5, 4, 6)

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε την τάξη ροής για να συγχωνεύσουμε τις δύο λίστες. Εδώ,

  • stream () - μετατρέπει τη λίστα σε ροή
  • concat () - συγχωνεύει τις δύο ροές
  • collect (Collectors.toList ()) - μετατρέψτε τη ροή σε λίστα

Για να μάθετε περισσότερα σχετικά με τη ροή, επισκεφθείτε το Java Stream Class.

ενδιαφέροντα άρθρα...