StringBuffer
- Dart kursu
- Başlangıç
- Ders 92/116
- 5 dk
StringBuffer ile verimli dize birleştirme öğrenirsin.
StringBuffer
Çok sayıda dizeyi + ile birleştirmek her seferinde yeni bir dize yaratır; bu yüzden döngülerde yavaştır. StringBuffer ise içten büyüyen, değiştirilebilir bir dize oluşturur. write ile ekler, sonunda toString() ile son dizeyi verirsin. Bir döngüde yüzlerce parçayı birleştirirken fark çok büyüktür.
Örnek: final sb = StringBuffer(); sb.write("a"); sb.write("b"); print(sb.toString());. writeln her ekten sonra yeni satır koyar. clear içeriği boşaltır. isEmpty ile doluluğu denetlersin. Biriktirme görevleri için idealdir.
Uygulama Sıra sende: StringBuffer ile biriktir
Bir StringBuffer oluştur ve bir for döngüsüyle 0'dan 3'e kadar (3 hariç) sayıları aralarına virgül koyarak ekle. Sonucu toString() ile alıp print ile yazdır.
Başlangıç kodu
void main() {
// StringBuffer oluştur
// for döngüsüyle 0,1,2 sayılarını virgülle ekle
// toString() ile yazdır
}Örnek çözüm
void main() {
final sb = StringBuffer();
for (var i = 0; i < 3; i++) {
if (i > 0) sb.write(",");
sb.write(i.toString());
}
print(sb.toString());
}Beklenen çıktı
0,1,2
write ve writeln
write tek bir parça ekler; writeln her eklemeden sonra yeni satır karakteri de koyar. Bir günlük dosyası oluştururken her satırın ayrı olmasını istiyorsan writeln kullanırsın. writeAll ise bir liste alır ve her öğeyi seçtiğin bir ayraçla ekler; join'e benzer ama bir StringBuffer'a yazar.
Tamponu boşaltmak için clear çağrılır. length özelliği şu anki karakter sayısını verir. isEmpty ve isNotEmpty ile doluluk denetlenir. Tamponu yeniden kullanmak istediğinde clear işine yarar.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 StringBuffer oluştur
final sb = ____();
final sb = StringBuffer();
Açıklama: StringBuffer() boş bir tampon yaratır.
2 Çok sayıda dize birleştirmesinde en verimli yöntem?
final sb = StringBuffer();
for (var i = 0; i < 1000; i++) {
sb._____(i.toString());
}- write Doğru cevap
- concat
- addAll
- append
Açıklama: write ile StringBuffer'a ek yapılır.
3 StringBuffer eşleştir
| Kavram | Anlamı |
|---|---|
write |
tek parça ekler |
writeln |
satır sonuyla ekler |
writeAll |
listeyi ekler |
clear |
tamponu boşaltır |