Yazar :

Kerem Mutlu, 22 Mart 2024 Cuma

7 3 0

#yazılım #java

Java Da Vektor Sınıfı Nedir Ve Nasıl Kullanılır ?

Java dilinde vektörler, veri yapıları içinde önemli bir rol oynar. İşte vektörler hakkında bilmeniz gerekenler:

Vektör Nedir?: Vektör, bir veri yapısıdır ve klasik dizilerin (array) ve bağlı listelerin (linked list) özelliklerini birleştirir. İşlevsel olarak:

  • Boyutu belli olmadan tanımlanabilir.
  • İçerisine veri eklendiğinde hafızada kapladığı alan artar.
  • Bağlı listelere benzer özellik gösterir.
  • Herhangi bir elemana doğrudan erişim (random access) sağlar.
  • Tipler konusunda esneklik sunar.

JAVA Dilindeki Kullanımı:

  • Java’da vektörleri kullanmak için java.util.Vector sınıfını kullanırız.
  • Örneğin, bir insanın boyu ve yaş bilgilerini içeren bir vektör tanımlayabiliriz.
  • Vektörün boyutunu .size() metodu ile alabiliriz.
  • Herhangi bir sıradaki elemana erişmek için .elementAt() fonksiyonunu kullanabiliriz.

Özetle, vektörler, diziler ve bağlı listelerden daha avantajlı bir yapı sunar ve veri yönetiminde esneklik sağlar. Java’da uygulama geliştirirken vektörleri kullanarak veri yapılarını etkili bir şekilde yönetebilirsiniz . Sadi Evren Şekerin yazısını okumanızı şiddetle tavsiye ederim 

Gel Gelelim Benim Uygulamama.  

Okul hayatımda verilen örnekleri hep sizinle paylaşmak istedim bu da günlerden bir gün sınıfta hocamızın doğrultusunda verilen bir örnek.

// import java.util.List;
import java.util.Vector;

import javax.swing.JOptionPane;

public class App {
   
    public static void main(String[] args) throws Exception {
        int hak = 3;
        String sifre = "1234";
        String girilen_sifre;
        Vector liste = new Vector<>();
        //vektor sınıfını dahil ediyoruz ....
        do {
           girilen_sifre = JOptionPane.showInputDialog("Şifre Giriniz (Limit : " + hak + ")");
            if (girilen_sifre.equals(sifre)) {
               // sifre başarı ile
               String message = "";
               message += "Kayit Menusu \n";
               message += "*********************\n";
               message += "[1] Kayit Ekle \n";
               message += "[2] Kayit Sil \n";
                message += "[3] Kayit Listele \n";
               message += "[0] Çıkış\n";
               message += "*********************\n";
               while (true) {
                   String secim = JOptionPane.showInputDialog(message);
                    if (secim.equals("1")) {
                       // eğer secim kayit Ekle ise
                       String ekle = JOptionPane.showInputDialog("Eklemek İstediğiniz Kayıtı Girin. ");
                       KayitEkle(ekle, liste);
                   } else if (secim.equals("2")) {
                       String sil = JOptionPane.showInputDialog("Sil İstediğiniz Kayıtı Girin. ");
                       kayitSil(sil, liste);

                   } else if (secim.equals("3")) {
                       listele(liste);
                   } else {
                       JOptionPane.showMessageDialog(null, "Güle Güle");
                       System.exit(0);
                       // çıkış işlemi
                   }
               }

            }
            else{
               hak--;
            }
        } while (hak > 0);
    }

    public static void KayitEkle(String kayit, Vector listVector) {
        // kayit ekle metodu
        boolean durum = true;
        for (int i = 0; i < listVector.size(); i++) {
            // eğer listede eleman var ise

            if (listVector.get(i).equals(kayit)) {
               // Eğer yok ise
               durum = false;
               break;
            } else {
               durum = true;

            }

        }
        if (durum) {
           listVector.addElement(kayit);
           JOptionPane.showMessageDialog(null, "'"+kayit+"' Başarı İle Eklendi");
        } else {
           JOptionPane.showMessageDialog(null, "Listede Ekli !!!");
        }
    }

    public static void kayitSil(String kayit, Vector listVector) {
        boolean durum = true;
        for (int i = 0; i < listVector.size(); i++) {
            // eğer listede eleman var ise
            if (listVector.get(i).equals(kayit)) {
                // eğer böyle bir kayıt var ise
               durum = true;
               break;
            } else {
               durum = false;

            }

        }
        if (durum) {
            // eğer kayıt var ise sil
           listVector.remove(kayit);
           JOptionPane.showMessageDialog(null, "'"+kayit+"' Başarı İle Silindi");
        } else {
           JOptionPane.showMessageDialog(null, "Listede Ekli !!!");
        }
    }

    // Kayit Listele
    public static void listele(Vector listVector) {
        String message = "Kayit Listele\n";
        message += "*****************************\n";
        for (int i = 0; i < listVector.size(); i++) {
           message += (i + 1) + ". " + listVector.get(i)+"\n";
        }
        message += "Toplam : ("+listVector.size()+")\n";
        message += "***************************\n";
       JOptionPane.showMessageDialog(null, message);
    }
}

Bu Geminiyi kullarak kodun detaylı açıklamalarını yazdırdım daha iyi anlamanız için :) 

Kod Açıklaması

Kod Açıklaması

1. Kütüphanelerin Eklenmesi:

Java
import java.util.List;
import java.util.Vector;

import javax.swing.JOptionPane;
  • import java.util.List;: Java'daki List arayüzünü kullanabilmek için eklenir.
  • import java.util.Vector;: Vector sınıfını kullanabilmek için eklenir.
  • import javax.swing.JOptionPane;: Kullanıcı ile etkileşim için JOptionPane sınıfını kullanabilmek için eklenir.

2. Ana Sınıf:

Java
public class App {
 
 public static void main(String[] args) throws Exception {
 ...
 }
}
  • public class App: App adında bir sınıf tanımlanır.
  • public static void main(String[] args) throws Exception: Sınıfın başlangıç noktası olan main metodu tanımlanır.

3. Değişkenler:

Java
int hak = 3;
String sifre = "1234";
String girilen_sifre;
Vector liste = new Vector<>();
  • int hak = 3;: Kullanıcının şifreyi girme hakkı 3 olarak belirlenir.
  • String sifre = "1234";: Doğru şifre "1234" olarak tanımlanır.
  • String girilen_sifre;: Kullanıcının girdiği şifreyi saklamak için kullanılır.
  • Vector liste = new Vector<>();: Vector tipinde liste adında bir nesne oluşturulur.

4. Şifre Kontrolü:

Java
do {
 girilen_sifre = JOptionPane.showInputDialog("Şifre Giriniz (Limit : " + hak + ")");
 if (girilen_sifre.equals(sifre)) {
 ...
 } else{
 hak--;
 }
} while (hak > 0);
  • do-while döngüsü ile kullanıcıdan şifre istenir.
  • girilen_sifre = JOptionPane.showInputDialog("Şifre Giriniz (Limit : " + hak + ")");: Kullanıcıdan şifre girişi istenir ve kalan hak sayısı gösterilir.
  • if (girilen_sifre.equals(sifre)): Kullanıcının girdiği şifre doğruysa if bloğuna girilir.
  • else: Kullanıcının girdiği şifre yanlışsa else bloğuna girilir ve kalan hak sayısı 1 azaltılır.
  • while (hak > 0): Kalan hak sayısı 0'dan büyük olduğu sürece döngü devam eder.

5. Kayıt Menüsü:

Java
if (girilen_sifre.equals(sifre)) {
 String message = "";
 message += "Kayit Menusu \n";
 message += "*********************\n";
 message += "[1] Kayit Ekle \n";
 message += "[2] Kayit Sil \n";
 message += "[3] Kayit Listele \n";
 message += "[0] Çıkış\n";
 message += "*********************\n";
 while (true) {
 String secim = JOptionPane.showInputDialog(message);
 ...
 }
}
  • Kullanıcının girdiği şifre doğruysa kayıt menüsü gösterilir.
  • String message: Kayıt menüsü için mesaj metni oluşturulur.
  • while (true): Sonsuz bir döngü ile menüde kalınır.
  • String secim = JOptionPane.showInputDialog(message);: Kullanıcıdan menü seçeneği istenir.
  • Seçilen menü seçeneğine göre KayitEkle, kayitSil, listele veya System.exit(0) fonksiyonları çağrılır.

6. Kayıt Ekleme:

Java
public static void KayitEkle(String kayit, Vector listVector) {
 ...
}
  • String kayit: Eklenecek kaydı saklar.
  • Vector listVector: Kayıtların tutulduğu Vector nesnesi.
Java
boolean durum = true;
for (int i = 0; i < listVector.size(); i++) {
 if (listVector.get(i).equals(kayit)) {
 durum = false;
 break;
 }
}
  • boolean durum: Kaydın listede

Kerem Mutlu…

İyi Kodlamalar …
 

 

 

 

Yorumlar (0)


Adınız Ve Soyadınız

Email Adresi

Yorum Yaz

Okumak İster Misin ?