Dalam program ini, Anda akan belajar untuk memeriksa apakah sebuah array berisi nilai tertentu di Java.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:
- Array Jawa
- Tipe Data Java (Primitif)
Contoh 1: Periksa apakah Int Array berisi nilai yang diberikan
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."); ) )
Keluaran
3 ditemukan.
Dalam program di atas, kami memiliki array bilangan bulat yang disimpan dalam variabel num. Demikian juga, nomor yang akan ditemukan disimpan di toFind.
Sekarang, kita menggunakan for-each loop untuk mengulang semua elemen num dan memeriksa secara individual apakah toFind sama dengan n atau tidak.
Jika ya, kami menetapkan ditemukan ke true
dan keluar dari perulangan. Jika tidak, kami pindah ke iterasi berikutnya.
Contoh 2: Periksa apakah sebuah array berisi nilai yang diberikan menggunakan 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."); ) )
Keluaran
7 tidak ditemukan.
Dalam program di atas, alih-alih menggunakan for-each loop, kami mengonversi array ke an IntStream
dan menggunakan anyMatch()
metodenya.
anyMatch()
metode mengambil predikat, ekspresi, atau fungsi yang mengembalikan nilai boolean. Dalam kasus kami, predikat membandingkan setiap elemen n dalam aliran ke toFind dan mengembalikan true
atau false
.
Jika salah satu elemen n kembali true
, ditemukan diatur ke true
juga.
Contoh 3: Periksa apakah sebuah array berisi nilai yang diberikan untuk tipe non-primitif
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."); ) )
Keluaran
Empat ditemukan.
Dalam program di atas, kita telah menggunakan tipe data non-primitif String
dan digunakan Arrays
's stream()
metode untuk mengkonversi pertama ke sungai dan anyMatch()
untuk memeriksa apakah array berisi nilai tofind yang diberikan.