Package net.zemberek.yapi
Class HarfDizisi
- java.lang.Object
-
- net.zemberek.yapi.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 Summary
Fields Modifier and Type Field Description static HarfDizisi
BOS_DIZI
-
Constructor Summary
Constructors Constructor Description HarfDizisi()
default constructor.HarfDizisi(int kapasite)
'kapasite' boyutlu 'TurkceHarf' dizisine sahip nesne olusturur.HarfDizisi(java.lang.String str, Alfabe alfabe)
Belirlenen alfabe ile String icerigini Harflere donusturur.HarfDizisi(java.lang.String str, Alfabe alfabe, int kapasite)
'kapasite' boyutlu 'TurkceHarf' dizisine sahip nesne olusturur.HarfDizisi(HarfDizisi hdizi)
Copy-Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
aradanKiyasla(int baslangic, HarfDizisi kelime)
HarfDizisi
araDizi(int bas, int son)
boolean
asciiToleransliAradanKiyasla(int baslangic, HarfDizisi kelime)
boolean
asciiToleransliBastanKiyasla(HarfDizisi giris)
boolean
asciiToleransliKiyasla(HarfDizisi harfDizisi)
ascii benzer harf toleransli esitlik kiyaslamasi.boolean
bastanKiyasla(HarfDizisi giris)
char
charAt(int index)
int
compareTo(HarfDizisi o)
Compare to metodu siralama icin kiyaslama yapar.HarfDizisi
ekle(int index, HarfDizisi hdizi)
Diziye baska bir harf dizisinin icerigini index ile belirtilen harften itibaren ekler.void
ekle(int index, TurkceHarf harf)
girilen pozisyona herf ekler, bu noktadan sonraki harfler otelenir.HarfDizisi
ekle(HarfDizisi hdizi)
Diziye baska bir harf dizisinin icerigini ular.HarfDizisi
ekle(TurkceHarf harf)
kelimenin sonuna harf ekler.boolean
equals(java.lang.Object o)
Tam esitlik kiyaslamasi.TurkceHarf
harf(int i)
verilen pozisyondaki harfi dondurur.void
harfDegistir(int index, TurkceHarf harf)
istenen noktadaki harfi giris parametresi olan TurkceHarf ile degistirir.HarfDizisi
harfSil(int index)
verilen pozisyondaki harfi siler.HarfDizisi
harfSil(int index, int harfSayisi)
verilen pozisyondan belli miktar harfi siler.int
hashCode()
boolean
hepsiBuyukHarfmi()
TurkceHarf
ilkHarf()
ilk harfi dondurur.TurkceHarf
ilkSesli(int basla)
ilk sesliyi dondurur.void
kirp(int index)
"index" numarali harften itibaren siler.int
length()
int
sesliSayisi()
Genellikle kelimedeki hece sayisini bulmak icin kullanilir.void
sil()
bu metod harf referansi dizisini serbest birakmaz, sadece boyu sifira indirir.TurkceHarf
sonHarf()
Dizinin son harfini dondurur.void
sonHarfSil()
son harfi siler.void
sonHarfYumusat()
son harfi yumusatir.TurkceHarf
sonSesli()
dizideki son sesliyi dondurur.java.lang.CharSequence
subSequence(int start, int end)
java.lang.String
toString()
java.lang.String
toString(int index)
sadece belirli bir bolumunu String'e donusturur.
-
-
-
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 Stringkapasite
- baslangic olusan TurkceHarf[] boyualfabe
- ilgili alfabe
-
HarfDizisi
public HarfDizisi(java.lang.String str, Alfabe alfabe)
Belirlenen alfabe ile String icerigini Harflere donusturur.- Parameters:
str
- ornek alincak Stringalfabe
- 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 pozisyonharf
- 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 pozisyonhdizi
- 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 classjava.lang.Object
- Parameters:
o
- kiyaslanacak nesne- Returns:
- true eger esitse.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.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 pozisyonharfSayisi
- 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 interfacejava.lang.CharSequence
- Overrides:
toString
in classjava.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 interfacejava.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 interfacejava.lang.CharSequence
-
charAt
public char charAt(int index)
- Specified by:
charAt
in interfacejava.lang.CharSequence
-
subSequence
public java.lang.CharSequence subSequence(int start, int end)
- Specified by:
subSequence
in interfacejava.lang.CharSequence
-
-