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