Dizi, bir grup öğe içeren bir veri yapısıdır. Tipik olarak bu öğelerin tümü, bir tamsayı veya dize gibi aynı veri türündedir. Diziler, bilgisayar programlarında, verileri düzenlemek için yaygın olarak kullanılır, böylece ilgili bir dizi değer hızlı bir şekilde sıralanabilir veya aranabilir. Dizinin tüm öğeleri bitişik bellek konumlarında saklanır.
N uzunluktaki bir dizide bulunan K elemanının olup olmadığını aradığımızı düşünelim.
Örnek çalışmamız şu şekilde olacak şekilde kodlarımızı yazacağız.
1 2 3 4 5 6 7 | Girdi: dizi[] = [5, 1, 1, 9, 7, 2, 6, 10], aranan = 7 Çıktı: true Girdi: dizi[] = [-1, 1, 5, 8], aranan = -2 Çıktı: false |
Yaklaşımlar
Java’da bu Dizide belirli bir öğenin bulunup bulunmadığını kontrol etmek için çok sayıda yaklaşım vardır.
İlginizi Çekebilir: Java Dizi Kullanımı
Bunlar –
- Linear Search methodu
- List.contains() methodu
- Stream.anyMatch() methodu
Linear Search methodu kullanarak bulma
Bunda, liste veya dizi ardışık olarak geçilir ve her eleman kontrol edilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | class Main { public static void main(String[] args) { // diziyi oluşturma int dizi[] = { 5, 1, 1, 9, 7, 2, 6, 10 }; // aranan değer int aranan = 7; // Linear Search(DOğrusal arama ) algoritması boolean durum = false; for (int deger : dizi) { if (deger == aranan) { durum = true; // aranan değeri dizide varsa true yapacak break; } } if (durum) System.out.println("Aranan değer dizide var"); else System.out.println("Aranan değer dizide yok"); } } |
List.contains() methodu kullanarak bulma
Belirtilen elemanın verilen listede olup olmadığını kontrol etmek için Java’da List include() yöntemi kullanılır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.util.Arrays; class Main { public static void main(String[] args) { // diziyi oluşturma int dizi[] = { 5, 1, 1, 9, 7, 2, 6, 10 }; // aranan değer int aranan = 7; boolean durum = Arrays.asList(dizi) .contains(aranan); if (durum) System.out.println("Aranan değer dizide var"); else System.out.println("Aranan değer dizide yok"); } } |
İlginizi Çekebilir: Java Dizi Örnekleri
Stream.anyMatch() methodu kullanarak bulma
Stream anyMatch(Predicate yüklemi), bu akışın herhangi bir öğesinin sağlanan yüklemle eşleşip eşleşmediğini döndürür. Sonucu belirlemek için gerekli değilse tüm unsurlardaki yüklemi değerlendirmeyebilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.util.stream.IntStream; class Main { public static void main(String[] args) { // diziyi oluşturma int dizi[] = { 5, 1, 1, 9, 7, 2, 6, 10 }; // aranan değer int aranan = 7; boolean durum = IntStream.of(dizi) .anyMatch(x -> x == aranan); if (durum) System.out.println("Aranan değer dizide var"); else System.out.println("Aranan değer dizide yok"); } } |
Yorum Yap