Kotlinov program za provjeru sadrži li niz zadanu vrijednost

U ovom programu naučit ćete provjeriti sadrži li niz zadanu vrijednost u Kotlinu.

Primjer 1: Provjerite sadrži li Int Array zadanu vrijednost

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

Kada pokrenete program, izlaz će biti:

 3 je pronađen.

U gornjem programu imamo niz cijelih brojeva pohranjenih u varijablu num. Isto tako, broj koji se nalazi pohranjen je u toFind.

Sada koristimo for-inpetlju za itiranje kroz sve elemente num i provjeru pojedinačno je li toFind jednako n ili nije.

Ako je odgovor da, postavili smo pronađeno truei prekid iz petlje. Ako ne, prelazimo na sljedeću iteraciju.

Primjer 2: Provjerite sadrži li niz zadanu vrijednost pomoću streama

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

Kada pokrenete program, izlaz će biti:

 7 nije pronađen.

U gornjem programu, umjesto da koristimo foreach petlju, mi pretvaramo niz u an IntStreami koristimo njegovu anyMatch()metodu.

anyMatch()metoda uzima predikat, izraz ili funkciju koja vraća logičku vrijednost. U našem slučaju, predikat uspoređuje svaki element n u toku s toFind i vraća trueili false.

Ako se vrati bilo koji od elemenata n true, postavljeno je i pronađeno true.

Primjer 3: Provjerite sadrži li niz zadanu vrijednost za neprimitivne tipove

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

Kada pokrenete program, izlaz će biti:

 Četiri su pronađena.

U gore navedenom programu, mi smo koristili ne-primitivni tip podataka Stringi koristi Arrays„s stream()metodu za prvi ga pretvoriti u potok i anyMatch()provjeriti da li polje sadrži zadanu vrijednost tofind.

Evo ekvivalentnog Java koda: Java program za provjeru sadrži li niz zadanu vrijednost.

Zanimljivi članci...