1. Dizeleri değiştirme
Java'da dizeler değişmez nesnelerdir. Bu, String sınıfını yüksek düzeyde optimize etmek ve her yerde kullanılmasına izin vermek için yapıldı. Örneğin, HashMap koleksiyonunda anahtar olarak kullanılmak üzere yalnızca değişmez türlerin kullanılması önerilir .
String
Bununla birlikte, programcıların sınıfın değişken olmasını daha uygun bulduğu durumlar sıklıkla ortaya çıkar . Yöntemlerinden biri her çağrıldığında yeni bir alt dize oluşturmayan bir sınıf istiyorlar.
Pekala, çok büyük bir dizimiz olduğunu ve sonuna sık sık bir şeyler eklememiz gerektiğini varsayalım. Bu durumda, bir karakter koleksiyonu ( ArrayList<Character>
) bile, String nesnelerini sürekli olarak yeniden oluşturmaktan ve birleştirmekten daha verimli olabilir.
İşte tam da bu yüzden Java diline String benzeri değiştirilebilen bir tür eklendi. denir StringBuilder
.
nesne oluşturma
Varolan bir dizeye dayalı bir nesne oluşturmak için StringBuilder
aşağıdaki gibi bir ifade yürütmeniz gerekir:
StringBuilder name = new StringBuilder(string);
Boş bir değiştirilebilir dize oluşturmak için şöyle bir ifade kullanmanız gerekir:
StringBuilder name = new StringBuilder();
yöntemlerin listesi
Sınıfın StringBuilder
iki düzine yardımcı yöntemi vardır. İşte en önemlileri:
Yöntem | Tanım |
---|---|
|
Geçirilen nesneyi bir dizeye dönüştürür ve onu geçerli dizeye ekler |
|
Geçirilen nesneyi bir dizeye dönüştürür ve onu geçerli dizeye ekler |
|
Dizinin start..end aralığı tarafından belirtilen kısmını geçirilen dizeyle değiştirir |
|
Belirtilen dizine sahip karakteri dizeden kaldırır |
|
Belirtilen aralıktaki karakterleri dizeden kaldırır |
|
Geçerli dizede bir alt dize arar |
|
Sondan başlayarak geçerli dizide bir alt dize arar |
|
Geçirilen dizindeki dizedeki karakteri döndürür |
|
Belirtilen aralık tarafından tanımlanan alt dizeyi döndürür |
|
Geçerli dizeyi tersine çevirir. |
|
Belirtilen dizindeki karakteri geçen karaktere değiştirir |
|
Karakter dizisinin uzunluğunu döndürür |
İşte her yöntemin kısa bir açıklaması
2. Yöntemlerin açıklaması:
Bir dizeye ekleme
Değişken bir dizeye ( StringBuilder
) bir şey eklemek için append()
yöntemi kullanın. Örnek:
kod | Tanım |
---|---|
|
|
Standart bir diziye dönüştürme
Bir nesneyi String nesnesine dönüştürmek için StringBuilder
, onun yöntemini çağırmanız yeterlidir toString()
. Örnek
kod | Çıktı |
---|---|
|
|
Bir karakteri nasıl silerim?
Değiştirilebilir bir dizideki bir karakteri silmek için yöntemi kullanmanız gerekir deleteCharAt()
. Örnek:
kod | Çıktı |
---|---|
|
|
Bir dizenin bir kısmını başka bir dizeyle nasıl değiştiririm?
Bunun için yöntem var replace(int begin, int end, String str)
. Örnek:
kod | Çıktı |
---|---|
|
|
3. Dizelerle çalışmanın faydalı örnekleri
Bir diziyi nasıl tersine çeviririm?
Bunu yapmak için özel bir yöntem var — reverse()
; Örnek:
kod | Çıktı |
---|---|
|
|
StringBuffer
sınıf
Başka bir sınıf daha vardır — sınıfın bir benzeri olan StringBuffer, StringBuilder
ancak yöntemleri değiştirici ile işaretlenmiştir synchronized
. StringBuffer
Bu , nesneye aynı anda birden çok iş parçacığından erişilebileceği anlamına gelir .
Ama ondan çok daha yavaş StringBuilder
. Java Multithreading arayışında multithreading'i aktif olarak keşfetmeye başladığınızda bu sınıfa ihtiyacınız olabilir .
GO TO FULL VERSION