Πρόγραμμα Java για έλεγχο εάν μια συστοιχία περιέχει δεδομένη τιμή

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

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

  • Πίνακες Java
  • Τύποι δεδομένων Java (Primitive)

Παράδειγμα 1: Ελέγξτε αν το Int Array περιέχει μια δεδομένη τιμή

 public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 3; boolean found = false; for (int n : num) ( if (n == toFind) ( found = true; break; ) ) if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Παραγωγή

 Βρέθηκε 3.

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

Τώρα, χρησιμοποιούμε έναν για κάθε βρόχο για να επαναλάβουμε όλα τα στοιχεία του αριθμού και να ελέγξουμε μεμονωμένα εάν το toFind είναι ίσο με το n ή όχι.

Εάν ναι, βρήκαμε το εύρημα trueκαι σπάσαμε από το βρόχο. Εάν όχι, προχωράμε στην επόμενη επανάληψη.

Παράδειγμα 2: Ελέγξτε εάν ένας πίνακας περιέχει δεδομένη τιμή χρησιμοποιώντας το Stream

 import java.util.stream.IntStream; public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 7; boolean found = IntStream.of(num).anyMatch(n -> n == toFind); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Παραγωγή

 Το 7 δεν βρέθηκε.

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

anyMatch()Η μέθοδος παίρνει ένα predicate, μια έκφραση ή μια συνάρτηση που επιστρέφει μια δυαδική τιμή. Στην περίπτωσή μας, το κατηγορηματικό συγκρίνει κάθε στοιχείο n στη ροή με toFind και επιστρέφει trueή false.

Εάν κάποιο από τα στοιχεία n επιστρέψει true, το εύρημα έχει ρυθμιστεί trueεπίσης.

Παράδειγμα 3: Ελέγξτε εάν ένας πίνακας περιέχει μια δεδομένη τιμή για μη πρωτόγονους τύπους

 import java.util.Arrays; public class Contains ( public static void main(String() args) ( String() strings = ("One", "Two", "Three", "Four", "Five"); String toFind = "Four"; boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind)); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Παραγωγή

 Βρέθηκαν τέσσερα.

Στο παραπάνω πρόγραμμα, χρησιμοποιήσαμε έναν μη πρωτόγονο τύπο δεδομένων Stringκαι χρησιμοποιήσαμε Arraysτη stream()μέθοδο για να τον μετατρέψουμε σε ροή και anyMatch()να ελέγξουμε αν ο πίνακας περιέχει τη δεδομένη τιμή στο Find.

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