5.00 / 1 oy

Java'da dizideki elemanın indeksini bulmak

Java'da dizi kullanımı ile ilgili çok örnek çözdük, aklıma geldikçe yine dizi (vektör) kullanımı ile ilgili örnekler paylaşmaya devam ediyorum. Bugünkü ilk problemimiz şu olsun: Elimizde tamsayılardan oluşan biz dizi var ve biz bu dizi içerisinde hangi elemanın kaçıncı sırada (indeks) olduğunu bulmak istiyoruz. Ne yapmamız gerekir?

Bu problemin hazır çözümü şu şekilde:

Integer[] dizi = {1,2,3,4,5,6,7,8,9,10};
int sira=Arrays.asList(dizi).indexOf(9);
System.out.println(sira);

Çıktı: 8

Çıktı 8 çünkü diziler 0 indeksi ile başlarlar, bu yüzden 9 olan eleman da aslında 0-1-2-3-4-5-6-7-8. indeks numarasına sahip olan eleman oluyor. Peki neden int değil de Integer yaptık? int yazınca hata alırız da ondan.

int[] array = {1,2,3,4,5,6,7,8,9,10};
int sira=Arrays.asList(array).indexOf(9);
System.out.println(sira);

Çıktı: -1

Peki ya String değerler saklayan bir dizi kullanmamız gerekseydi? Neyse ki bu da aynı sistemde doğru sonuç üretiyor.

String[] dizi = {"1","2","3","4","5","6","7","8","9","10"};
int sira=Arrays.asList(dizi).indexOf("9");
System.out.println(sira);

Çıktı: 8

Yazılımcının işi inatçı olmak, int olsun diye kafayı mı taktık? Madem öyle biz de kendi metodumuzu kendimiz yazarız.

public static void main(String[] args) {
    
int[] dizi = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int sira=diziSirasiGetir(dizi,9);
System.out.println(sira);
}

public static int diziSirasiGetir(int[] dizi,int tamsayi) {
int sira=-1;

for(int i=0;i<dizi.length;i++){

    if(dizi[i] == tamsayi){
        sira=i;
        break;
    }
}
return sira;
}

Çıktı: 8

utku33

11.02.2020 00:48

Bu soru 1 kez yanıtlandı.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Java'da dizideki elemanın indeksini bulmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.