Σε αυτό το πρόγραμμα, θα μάθετε να ελέγχετε αν ένας πίνακας περιέχει μια δεδομένη τιμή στο 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 για να ελέγξετε εάν ο πίνακας περιέχει μια δεδομένη τιμή.