Merhaba arkadaşlar bu yazımda  java programlamada dizi içerisinde veri  arama işlemi ve dizilerde sıralama işlemi nasıl yapılır bundan kısaca bahsedeceğim.

Java'da Dizi Elemanlarında Arama ve Sıralama

Merhaba arkadaşlar bu yazımda java programlamada dizi içerisinde veri arama işlemi ve dizilerde sıralama işlemi nasıl yapılır bundan kısaca bahsedeceğim.

Öncelikle bir dizi oluşturmamız gerekiyor. Ben liste adında 10 boyutlu bir integer dizi oluşturdum. İçerisine sayıları karışık olarak tanımladım. Aranılacak sayıyıda integer olarak oluşturdum. Siz aranacak sayıyı isterseniz kullanıcıdan alabilirsiniz. 

  1.     //Lineer Diziler - Dizide Arama Yapma
  2.            int[] liste={1,2,43,65,76,87,9,4,34};
  3.  
  4.            int aranilanSayi=76;
  5.  
  6.            for(int i=0; i<liste.length;i++){
  7.  
  8.                if(aranilanSayi==liste[i]){
  9.                    System.out.println("Aradığınız sayını index'i:"+i+ "\nAradığınız sayı:"+liste[i]);
  10.                }
  11.            }
  12.  
For döngüsünü dizinin  boyutuna kadar çalışması gerektiğinini belirledik. İf ile dönen döngü içerisinde aranan veri olup olmadığı kontrolünü gerçekleştirdik. Eğer aranan veri bulunduysa kaçıncı indexte olduğunu ekrana bastırdık. Lineer arama işlemi dizinin tamamınında kontrol yapacağı için büyük programlarda arama işlemi uzun sürecektir. Eğer aradığınız veri dizinin sonunda ise  tüm veriler bitene kadar döngü çalışacaktır.  Binary search (İkili Arama) algoritması ile daha hızlı bir şekilde istediğimiz sonuca ulaşabiliriz.

İkili Arama: Arama aralığını art arda ikiye bölerek sıralanmış bir dizide arama yapar.  Aranan değer aralığın ortasındaki öğeden daha küçük ise  dizinin sol tarafında, eğer aranan değer dizinin ortasındaki değerden büyükse dizinin sağ tarafında arama yapmaktadır. Aşağıdaki resimde ikili arama örneği gösterilmiştir.


Binary Search işlemini java içerisinde bulunan Array.binarySearch fonksiyonu ile yapabiliriz. Aşağıdaki kodda binary adında bir dizi oluşturduk daha sonra oluşturduğumuz diziyi sort metodu ile sıraladık. binarySearch metodu ile hangi dizi içersinde aranacak sayıyı vererek aradığımız verinin kaçıncı indexte olduğunu bulduk.

  1. import java.util.Arrays;
  2. public class Main {
  3.  
  4.    public static void main(String[] args) {
  5.  
  6.            //Java'da İkili Arama - Binary Search
  7.            int[] binary={12,1,19,2,3,5,6,6,7,8};
  8.            Arrays.sort(binary); //Verileri Sıraladık {1,2,3,5,6,7,8,19}
  9.            int index = Arrays.binarySearch(binary,5); //Binary dizisinde 5'i arıyoruz.
  10.            System.out.println(Arrays.toString(binary)); //Sıralı Şekilde Yazımı
  11.            System.out.println("Aranılan elemanın İndex'i :" + index);
  12.  
  13.  
  14.  
  15.    }
  16. }
  17.  


Önemli olan nokta eğer java içerisinde bulunan hazır array fonksiyonlarını kullancaksanız sayfanın başına   import.java.util.Arrays yazarak projenize kütüphaneyi  dahil etmeniz gerekmektedir. 

Eğer bir dizi de sıralama işlemi yapacaksanız Arrays.sort(gelenDizi) fonksiyonunu kullanarak istediğiniz sonuca ulaşabilirsiniz. Bir dizinin değerlerine bir sayı atamak istiyorsanız Arrays.fill() fonksiyonunu kullananabilirsiniz. Arrays.fill() komutu dört parametre almaktadır. Arrays.fill(sizinDiziniz,BaşlanacakIndex,BitisIndex,Değer) vermiş olduğunuz değeri başlangıç indexinden bitiş indexine kadar diziye atama işlemi yapar. Aşağıdaki kodda sıralama ve diziye değer atama işlemi gösterilmiştir.

  1. //Fonksiyonla Dizide Sıralama İşlemi
  2.  
  3. int[] dizi={1,2,3,23,5,6,33,32,4,54,6,7,7};
  4.  
  5. Arrays.fill(dizi,0,3,2); //0. indexten 3. indexe kadar 2 değerini ata :)
  6.  
  7. System.out.println(Arrays.toString(dizi));
  8.  
  9. Arrays.sort(dizi); //Dizi içerisindeki tüm değerleri sıraladı;
  10.  
  11. System.out.println(Arrays.toString(dizi)); //Sıralanmış Değeri Göster


Bu yazımda kısaca javada sıralama ve dizi içerisinde veri arama işlemlerine değindik bir başka yazımda görüşmek üzere...

Bu Gönderiyi Paylaş

İçerik Hakkında Yorum Yapın

www.000webhost.com