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

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

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

 fun main(args: Array) ( val num = intArrayOf(1, 2, 3, 4, 5) val toFind = 3 var found = false for (n in num) ( if (n == toFind) ( found = true break ) ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Βρέθηκε 3.

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

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

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

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

 import java.util.stream.IntStream fun main(args: Array) ( val num = intArrayOf(1, 2, 3, 4, 5) val toFind = 7 val found = IntStream.of(*num).anyMatch ( n -> n == toFind ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

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

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

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

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

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

 import java.util.Arrays fun main(args: Array) ( val strings = arrayOf("One", "Two", "Three", "Four", "Five") val toFind = "Four" val found = Arrays.stream(strings).anyMatch ( t -> t == toFind ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

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

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

Εδώ είναι ο ισοδύναμος κώδικας Java: πρόγραμμα Java για να ελέγξετε εάν ο πίνακας περιέχει μια δεδομένη τιμή.

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