Αλγόριθμοι Java

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

Το πλαίσιο συλλογών Java παρέχει διάφορους αλγόριθμους που μπορούν να χρησιμοποιηθούν για τον χειρισμό στοιχείων που είναι αποθηκευμένα σε δομές δεδομένων.

Οι αλγόριθμοι στην Java είναι στατικές μέθοδοι που μπορούν να χρησιμοποιηθούν για την εκτέλεση διαφόρων λειτουργιών σε συλλογές.

Δεδομένου ότι οι αλγόριθμοι μπορούν να χρησιμοποιηθούν σε διάφορες συλλογές, αυτοί είναι επίσης γνωστοί ως γενικοί αλγόριθμοι .

Ας δούμε την εφαρμογή διαφορετικών μεθόδων διαθέσιμων στο πλαίσιο συλλογών.

1. Ταξινόμηση χρησιμοποιώντας είδος ()

Η sort()μέθοδος που παρέχεται από το πλαίσιο συλλογών χρησιμοποιείται για την ταξινόμηση στοιχείων. Για παράδειγμα,

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); ) ) 

Παραγωγή

 Μη ταξινομημένη ArrayList: (4, 2, 3) S ταξινόμηση ArrayList: (2, 3, 4) 

Εδώ η ταξινόμηση γίνεται με φυσική σειρά (αύξουσα σειρά). Ωστόσο, μπορούμε να προσαρμόσουμε τη σειρά ταξινόμησης της sort()μεθόδου χρησιμοποιώντας τη διεπαφή σύγκρισης.

Για να μάθετε περισσότερα, επισκεφθείτε την Ταξινόμηση Java.

2. Ανακάτεμα χρησιμοποιώντας τυχαία σειρά ()

Η shuffle()μέθοδος του πλαισίου συλλογών Java χρησιμοποιείται για την καταστροφή κάθε είδους παραγγελίας που υπάρχει στη δομή δεδομένων. Κάνει ακριβώς το αντίθετο της ταξινόμησης. Για παράδειγμα,

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Sorted ArrayList: " + numbers); // Using the shuffle() method Collections.shuffle(numbers); System.out.println("ArrayList using shuffle: " + numbers); ) ) 

Παραγωγή

 Ταξινόμηση ArrayList: (1, 2, 3) ArrayList χρησιμοποιώντας τυχαία σειρά: (2, 1, 3) 

Όταν εκτελούμε το πρόγραμμα, η shuffle()μέθοδος θα επιστρέψει μια τυχαία έξοδο.

Ο αλγόριθμος ανακατέματος χρησιμοποιείται κυρίως σε παιχνίδια όπου θέλουμε τυχαία έξοδο.

3. Χειρισμός ρουτίνας δεδομένων

Στην Java, το πλαίσιο συλλογών παρέχει διαφορετικές μεθόδους που μπορούν να χρησιμοποιηθούν για τον χειρισμό δεδομένων.

  • reverse() - αντιστρέφει τη σειρά των στοιχείων
  • fill() - αντικαταστήστε κάθε στοιχείο σε μια συλλογή με την καθορισμένη τιμή
  • copy() - δημιουργεί ένα αντίγραφο των στοιχείων από την καθορισμένη πηγή στον προορισμό
  • swap() - ανταλλάσσει τη θέση δύο στοιχείων σε μια συλλογή
  • addAll() - προσθέτει όλα τα στοιχεία μιας συλλογής σε άλλη συλλογή

Για παράδειγμα,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); System.out.println("ArrayList1: " + numbers); // Using reverse() Collections.reverse(numbers); System.out.println("Reversed ArrayList1: " + numbers); // Using swap() Collections.swap(numbers, 0, 1); System.out.println("ArrayList1 using swap(): " + numbers); ArrayList newNumbers = new ArrayList(); // Using addAll newNumbers.addAll(numbers); System.out.println("ArrayList2 using addAll(): " + newNumbers); // Using fill() Collections.fill(numbers, 0); System.out.println("ArrayList1 using fill(): " + numbers); // Using copy() Collections.copy(newNumbers, numbers); System.out.println("ArrayList2 using copy(): " + newNumbers); ) ) 

Παραγωγή

 ArrayList1: (1, 2) Reverseed ArrayList1: (2, 1) ArrayList1 Using swap (): (1, 2) ArrayList2 using addALl (): (1, 2) ArrayList1 using fill (): (0, 0) ArrayList2 χρησιμοποιώντας αντίγραφο (): (0, 0) 

Σημείωση : Κατά την εκτέλεση της copy()μεθόδου και οι δύο λίστες πρέπει να έχουν το ίδιο μέγεθος.

4. Αναζήτηση χρησιμοποιώντας binarySearch ()

Η binarySearch()μέθοδος του πλαισίου συλλογών Java αναζητά το καθορισμένο στοιχείο. Επιστρέφει τη θέση του στοιχείου στις καθορισμένες συλλογές. Για παράδειγμα,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // Using binarySearch() int pos = Collections.binarySearch(numbers, 3); System.out.println("The position of 3 is " + pos); ) ) 

Παραγωγή

 Η θέση του 3 είναι 2. 

Σημείωση : Η συλλογή πρέπει να ταξινομηθεί πριν από την εκτέλεση της binarySearch()μεθόδου.

Για να μάθετε περισσότερα, επισκεφθείτε την Java Binary Search.

5. Σύνθεση

  • frequency() - επιστρέφει τον αριθμό των φορών που ένα στοιχείο υπάρχει στη συλλογή
  • disjoint() - ελέγχει εάν δύο συλλογές περιέχουν κάποιο κοινό στοιχείο

Για παράδειγμα,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(2); System.out.println("ArrayList1: " + numbers); int count = Collections.frequency(numbers, 2); System.out.println("Count of 2: " + count); ArrayList newNumbers = new ArrayList(); newNumbers.add(5); newNumbers.add(6); System.out.println("ArrayList2: " + newNumbers); boolean value = Collections.disjoint(numbers, newNumbers); System.out.println("Two lists are disjoint: " + value); ) ) 

Παραγωγή

 ArrayList1: (1, 2, 3, 2) Count of 2: 2 ArrayList2: (5, 6) Δύο λίστες είναι χωριστές: true 

6. Εύρεση ακραίων τιμών

Τα min()και οι max()μέθοδοι του πλαισίου συλλογών Java χρησιμοποιούνται για την εύρεση των ελάχιστων και των μέγιστων στοιχείων, αντίστοιχα. Για παράδειγμα,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // Using min() int min = Collections.min(numbers); System.out.println("Minimum Element: " + min); // Using max() int max = Collections.max(numbers); System.out.println("Maximum Element: " + max); ) ) 

Παραγωγή

 Ελάχιστο στοιχείο: 1 Μέγιστο στοιχείο: 3 

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