Belajar Pemrograman Java Dari Dasar

Class StringBuilder Pada Java

Class StringBuilder digunakan untuk membuat objek string yang mutable sama seperti class StringBuffer. Namun perbedaan utamanya terletak pada sinkronisasasi, sehingga StringBuilder ini tidak thread safe karena tidak disinkronisasi.

Urutan, panjang dan konten dari StringBuilder dapat diubah dengan pemanggilan dan menggunakan method-methodnya.

Dalam implementasinya, StringBuilder lebih cepat jika dibandingkan dengan StringBuffer. Namun, penggunaannya juga harus tepat, yaitu digunakan pada thread tunggal dengan objek string yang mutable. Bila dibutuhkan sinkronisasi dan mutable, maka sebaiknya digunakan StringBuffer.


StringBuilder Class Java


Constructor Pada StringBuffer

  • StringBuilder(): Mengkonstruksi suatu string builder tanpa ada karakter di dalamnya dan dengan suatu kapasitas inisial 16 karakter.

  • StringBuilder(int capacity): Mengkonstruksi suatu string builder tanpa ada karakter di dalamnya dan kapasitas inisial ditentukan oleh argumen yang diberikan.

  • StringBuilder(String str): Mengkonstruksi suatu string builder dengan string yang ditentukan. Kapasitas inisialnya adalah 16 karakter dan ditambah dengan panjang dari argumen string yang diberikan.

Method Penting Pada StringBuilder

Berikut ini adalah beberapa mehod penting dari class StringBuilder:

Method Penjelasan
String toString() Mengembalikan objek String dari string builder
int capacity() Mengembalikan kapasitas dari string builder
charAt(int index): char Mengembalikan karakter pada index tertentu
int length() Mengembalikan jumlah dari karakter
void setLength(int newLength) Mengatur nilai length yang baru
String substring(int start) Mengembalikan substring dimulai dari start Index
String substring(int start, int end) Mengembalikan substring dari startIndex sampai endIndex -1
void trimToSize() Mengurangi ukuran penyimpanan dari string builder
StringBuilder append(String s) Method ini digunakan untuk menambahkan string yang ditentukan. Method append() overloading diantaranya adalah append (char), append (boolean), append (int), append (float), append (double) dan lainnya.
StringBuilder insert(int offset, String s) Digunakan untuk menyisipkan string yang ditentukan pada posisi yang yang ditetapkan. Metode insert() overloading diantaranya adalah insert(int, char), insert(int, boolean), insert (int, int), insert(int, float), insert(int, double) dan sebagainya.
StringBuilder replace(int startIndex, int endIndex, String str) Digunakan untuk mengganti string dari startIndex dan endIndex tertentu
StringBuilder reverse() Digunakan untuk membalikkan string
StringBuilder delete(int start, int end) Untuk menghilangkan urutan karakter, method lainnya adalah StringBuilder deleteCharAt(int index) untuk menghapus karakter pada index tertentu
void ensureCapacity(int minimumCapacity) Memastikan bahwa kapasitas sekurang-kuranngnya equal dengan minimum yang ditentukan


Contoh:
public class Test_StringBuilder {
 
 public static void main (String args []){
  
  /** Membuat objek StringBuilder*/
  StringBuilder stringBuilder = new StringBuilder("Java");
  System.out.println("string adalah: \n"+ stringBuilder);
  
  System.out.println();
  
  /** Kapasitas string **/
  System.out.println("Kapasitas string adalah: \n"+ stringBuilder.capacity());
  
  System.out.println();
  
  /** menggabungkan string */
  stringBuilder.append(" Populer");
  System.out.println("string digabungkan dengan "
      + "\"Populer\" menjadi: \n" + stringBuilder);
  
  System.out.println();
  
  /** memasukkan string */
  stringBuilder.insert(5, "Adalah Bahasa Pemrograman Yang ");
  System.out.println("Memasukkan string pada indeks 5 dengan "
    + "\" Adalah Bahasa Pemrograman Yang\" menjadi: \n" + stringBuilder);
  
  System.out.println();
  
  /**Mengembalikan substring pada indeks tertentu */
  System.out.println("Substring pada indeks 12 sampai 29 adalah: \n" + stringBuilder.substring(12, 30));
  
  System.out.println();
  
  /** mengganti string */
  stringBuilder.replace(12,18, "Salah Satu Nama Bahasa");
  System.out.println("Mengganti string "
    + "mulai dari indeks 12 sampai 18 dengan \"Salah Satu Nama Bahasa \" menjadi: \n" + stringBuilder);
  
  System.out.println();
  
  /**Menghapus karakter string pada indeks tertentu */
  stringBuilder.delete(5,28);
  System.out.println("Menghapus karakter "
    + "dari indeks 5 sampai 27 menjadi: \n" + stringBuilder);
  
  System.out.println();
  
  /**Menggunakan ensure capacity*/
  System.out.println("Kapasitas string" + " \"Java Bahasa Pemrograman Yang Populer\" "
       + "adalah \n" + stringBuilder.capacity());
  stringBuilder.append(" Untuk Dipelajari");
  System.out.println("string digabungkan dengan " + "\" Untuk Dipelajari\" "
       + "menjadi: \n" + stringBuilder);
  
  System.out.println("ensureCapacity 100");
  stringBuilder.ensureCapacity(100);
  System.out.println("Kapasitas sekarang adalah: "+ stringBuilder.capacity());
 }

}


Output:

string adalah:
Java

Kapasitas string adalah:
20

string digabungkan dengan "Populer" menjadi:
Java Populer

Memasukkan string pada indeks 5 dengan " Adalah Bahasa Pemrograman Yang" menjadi:
Java Adalah Bahasa Pemrograman Yang Populer

Substring pada indeks 12 sampai 29 adalah:
Bahasa Pemrograman

Mengganti string mulai dari indeks 12 sampai 18 dengan "Salah Satu Nama Bahasa " menjadi:
Java Adalah Salah Satu Nama Bahasa Pemrograman Yang Populer

Menghapus karakter dari indeks 5 sampai 27 menjadi:
Java Bahasa Pemrograman Yang Populer

Kapasitas string "Java Bahasa Pemrograman Yang Populer" adalah
88
string digabungkan dengan " Untuk Dipelajari" menjadi:
Java Bahasa Pemrograman Yang Populer Untuk Dipelajari
ensureCapacity 100
Kapasitas sekarang adalah: 178

Share on Facebook
Share on Twitter
Share on Google+

Artikel Menarik Lainnya :