Kotlin-ohjelma sen tarkistamiseksi, onko taulukossa annettu arvo

Tässä ohjelmassa opit tarkistamaan, sisältääkö matriisi tietyn arvon Kotlinissa.

Esimerkki 1: Tarkista, sisältääkö Int Array tietyn arvon

 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.") )

Kun suoritat ohjelmaa, tulos on:

 3 löytyy.

Yllä olevassa ohjelmassa meillä on joukko kokonaislukuja, jotka on tallennettu muuttujaan num. Samoin löydettävä numero tallennetaan ToFindiin.

Nyt käytämme for-insilmukkaa iteroimaan kaikkien num-elementtien läpi ja tarkistamme erikseen, onko toFind yhtä suuri kuin n.

Jos kyllä, asetimme löydetyn trueja katkaistiin silmukasta. Jos ei, siirrymme seuraavaan iteraatioon.

Esimerkki 2: Tarkista Streamin avulla, sisältääkö taulukko annettuja arvoja

 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.") )

Kun suoritat ohjelmaa, tulos on:

 7 ei löydy.

Edellä mainitussa ohjelmassa muunnetaan matriisi foreach-silmukan sijasta IntStreamja käytämme sen anyMatch()menetelmää.

anyMatch()menetelmä ottaa predikaatin, lausekkeen tai funktion, joka palauttaa loogisen arvon. Meidän tapauksessamme predikaatti vertaa jokaista elementtiä n streamissa etsimiseen ja palauttaa truetai false.

Jos jokin elementistä n palaa true, löydetty on myös asetettu true.

Esimerkki 3: Tarkista, sisältääkö taulukko tietyn arvon ei-primitiivisille tyypeille

 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.") )

Kun suoritat ohjelmaa, tulos on:

 Neljä löytyy.

Edellä mainittuun ohjelmaan, olemme käyttäneet ei-primitiivinen tietotyyppi Stringja käytetään Arraysn stream()menetelmää ensin muuntaa sen virta ja anyMatch()tarkistaa, onko matriisi sisältää tietyn arvon tofind.

Tässä on vastaava Java-koodi: Java-ohjelma tarkistaa, sisältääkö taulukko tietyn arvon.

Mielenkiintoisia artikkeleita...