Class HarfDizisi

  • All Implemented Interfaces:
    java.lang.CharSequence, java.lang.Comparable<HarfDizisi>

    public class HarfDizisi
    extends java.lang.Object
    implements java.lang.CharSequence, java.lang.Comparable<HarfDizisi>
    Bu sinif Dil islemleri sirasinda Turkceye ozel islemler gerektiginden String-StringBuffer yerine kullanilir. String gibi genel bir tasiyici degil ara islem nesnesi olarak kullanilmasi onerilir. String'den farkli olarak "degistirilebilir" bir yapidadir ve Thread-safe degildir.
    • Field Detail

      • BOS_DIZI

        public static final HarfDizisi BOS_DIZI
    • Constructor Detail

      • HarfDizisi

        public HarfDizisi()
        default constructor. 7 boyutlu bir TurkceHarf referans dizisi olusturur.
      • HarfDizisi

        public HarfDizisi​(int kapasite)
        'kapasite' boyutlu 'TurkceHarf' dizisine sahip nesne olusturur.
        Parameters:
        kapasite - baslangic olusan TurkceHarf[] boyu
      • HarfDizisi

        public HarfDizisi​(java.lang.String str,
                          Alfabe alfabe,
                          int kapasite)
        'kapasite' boyutlu 'TurkceHarf' dizisine sahip nesne olusturur. daha sonra girisi String'i icindeki karakterleri TurkceHarf seklinde TurkceHarf dizisine aktarir. Eger String boyu kapasiteden buyukse kapasite'yi boy'a esitler. Eger String icindeki karakter Alfabe'de yar almiyorsa "TANIMSIZ_HARF" harfi olarak eklenir.
        Parameters:
        str - ornek alincak String
        kapasite - baslangic olusan TurkceHarf[] boyu
        alfabe - ilgili alfabe
      • HarfDizisi

        public HarfDizisi​(java.lang.String str,
                          Alfabe alfabe)
        Belirlenen alfabe ile String icerigini Harflere donusturur.
        Parameters:
        str - ornek alincak String
        alfabe - ilgili alfabe
      • HarfDizisi

        public HarfDizisi​(HarfDizisi hdizi)
        Copy-Constructor. gelen harf dizisi ile ayni icerige sahip olacak sekilde TurkceHarf dizisi olusturur.
        Parameters:
        hdizi - ornek alinacak HarfDizisi
    • Method Detail

      • sil

        public void sil()
        bu metod harf referansi dizisini serbest birakmaz, sadece boyu sifira indirir.
      • sonHarf

        public TurkceHarf sonHarf()
        Dizinin son harfini dondurur.
        Returns:
        varsa son harf, Yoksa TANIMSIZ_HARF.
      • sonSesli

        public TurkceHarf sonSesli()
        dizideki son sesliyi dondurur. eger dizi boyu 0 ise ya da sesli harf yoksa TANIMSIZ_HARF doner.
        Returns:
        varsa son sesli yoksa TANIMSIZ_HARF
      • ekle

        public HarfDizisi ekle​(TurkceHarf harf)
        kelimenin sonuna harf ekler.
        Parameters:
        harf - eklenecek harf
        Returns:
        this
      • ekle

        public void ekle​(int index,
                         TurkceHarf harf)
        girilen pozisyona herf ekler, bu noktadan sonraki harfler otelenir. "armut" icin (2, a) "aramut" uretir.
        Parameters:
        index - eklenecek pozisyon
        harf - eklenecek harf.
        Throws:
        java.lang.ArrayIndexOutOfBoundsException
      • ekle

        public HarfDizisi ekle​(HarfDizisi hdizi)
        Diziye baska bir harf dizisinin icerigini ular.
        Parameters:
        hdizi - ulanacak harf dizisi.
        Returns:
        this.
      • ekle

        public HarfDizisi ekle​(int index,
                               HarfDizisi hdizi)
        Diziye baska bir harf dizisinin icerigini index ile belirtilen harften itibaren ekler. "armut" icin (2, hede) "arhedemut" uretir.
        Parameters:
        index - eklencek pozisyon
        hdizi - eklenecek harf dizisi
        Returns:
        this.
        Throws:
        java.lang.ArrayIndexOutOfBoundsException
      • araDizi

        public HarfDizisi araDizi​(int bas,
                                  int son)
      • harf

        public TurkceHarf harf​(int i)
        verilen pozisyondaki harfi dondurur. icerigi "kedi" olan HarfDizisi icin harf(1) e dondurur.
        Parameters:
        i - istenilen pozisyondaki harf.
        Returns:
        girilen pozisyondaki harf, yoksa TANIMSIZ_HARF
      • ilkSesli

        public TurkceHarf ilkSesli​(int basla)
        ilk sesliyi dondurur. eger sesli yoksa TANIMSIZ_HARF doner. aramaya belirtilen indeksten baslar.
        Parameters:
        basla - baslangic indeksi.
        Returns:
        varsa ilk sesli, yoksa TANIMSIZ_HARF
      • equals

        public boolean equals​(java.lang.Object o)
        Tam esitlik kiyaslamasi. kiyaslama nesne tipi, ardindan da TurkceHarf dizisi icindeki harflerin char iceriklerine gore yapilir.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        o - kiyaslanacak nesne
        Returns:
        true eger esitse.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • asciiToleransliKiyasla

        public boolean asciiToleransliKiyasla​(HarfDizisi harfDizisi)
        ascii benzer harf toleransli esitlik kiyaslamasi.
        Parameters:
        harfDizisi - kiyaslanacak harfDizisi
        Returns:
        true eger esitse.
      • asciiToleransliAradanKiyasla

        public boolean asciiToleransliAradanKiyasla​(int baslangic,
                                                    HarfDizisi kelime)
      • asciiToleransliBastanKiyasla

        public boolean asciiToleransliBastanKiyasla​(HarfDizisi giris)
      • aradanKiyasla

        public boolean aradanKiyasla​(int baslangic,
                                     HarfDizisi kelime)
      • bastanKiyasla

        public boolean bastanKiyasla​(HarfDizisi giris)
      • harfDegistir

        public void harfDegistir​(int index,
                                 TurkceHarf harf)
        istenen noktadaki harfi giris parametresi olan TurkceHarf ile degistirir.
        Parameters:
        index - degistirilecek indeks.
        harf - kullanilacak harf
        Throws:
        java.lang.ArrayIndexOutOfBoundsException
      • sonHarfYumusat

        public void sonHarfYumusat()
        son harfi yumusatir. Eger harfin yumusamis formu yoksa harf degismez.
      • sonHarfSil

        public void sonHarfSil()
        son harfi siler. eger harf yoksa hicbir etki yapmaz.
      • harfSil

        public HarfDizisi harfSil​(int index)
        verilen pozisyondaki harfi siler. kelimenin kalan kismi otelenir. eger verilen pozisyon yanlis ise ArrayIndexOutOfBoundsException firlatir.

        "kedi" icin (2) "kei" olusturur.

        Parameters:
        index - silinecek harf pozisyonu
        Returns:
        dizinin kendisi.
        Throws:
        java.lang.ArrayIndexOutOfBoundsException
      • harfSil

        public HarfDizisi harfSil​(int index,
                                  int harfSayisi)
        verilen pozisyondan belli miktar harfi siler. "kediler" icin (2,2) "keler" olusturur.
        Parameters:
        index - silinmeye baslanacak pozisyon
        harfSayisi - silinecek harf miktari
        Returns:
        dizinin kendisi
      • ilkHarf

        public TurkceHarf ilkHarf()
        ilk harfi dondurur. eger harf yoksa TANIMSIZ_HARF doner.
        Returns:
        ilk TurkceHarf.
      • kirp

        public void kirp​(int index)
        "index" numarali harften itibaren siler. "kedi" icin (1) "k" olusturur.
        Parameters:
        index - kirpilmaya baslanacak pozisyon
      • toString

        public java.lang.String toString​(int index)
        sadece belirli bir bolumunu String'e donusturur.
        Parameters:
        index - String'e donusum baslangic noktasi.
        Returns:
        olusan String.
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface java.lang.CharSequence
        Overrides:
        toString in class java.lang.Object
      • compareTo

        public int compareTo​(HarfDizisi o)
        Compare to metodu siralama icin kiyaslama yapar. Kiyaslama oncelikle harflerin alfabetik sirasina daha sonra dizilerin boyutuna gore yapilir.
        Specified by:
        compareTo in interface java.lang.Comparable<HarfDizisi>
        Parameters:
        o - kiyaslanacak dizi.
        Returns:
        'kedi'.compareTo('kedi') -> 0 'kedi'.compareTo('ke') -> 2 (boy farki) 'kedi'.compareTo('kedm') -> -4 (i->m alfabetik sira farki) 'kedi'.compareTo(null) -> 1
      • sesliSayisi

        public int sesliSayisi()
        Genellikle kelimedeki hece sayisini bulmak icin kullanilir.
        Returns:
        inte, sesli harf sayisi.
      • hepsiBuyukHarfmi

        public boolean hepsiBuyukHarfmi()
        Returns:
        hepsi buyuk harf ise true, boy=0 dahil.
      • length

        public int length()
        Specified by:
        length in interface java.lang.CharSequence
      • charAt

        public char charAt​(int index)
        Specified by:
        charAt in interface java.lang.CharSequence
      • subSequence

        public java.lang.CharSequence subSequence​(int start,
                                                  int end)
        Specified by:
        subSequence in interface java.lang.CharSequence