StringBuilder trong Java



Lớp StringBuilder trong Java được sử dụng để tạo chuỗi có thể thay đổi (chuỗi dạng mutable). Lớp StringBuilder là giống như lớp StringBuffer ngoại trừ rằng nó là không đồng bộ. Lớp này có sẵn từ JDK 1.5.

Các Constructor quan trọng của lớp StringBuilder trong Java

  • StringBuilder(): tạo một Builder trống với dung lượng capacity ban đầu là 16.

  • StringBuilder(String str): tạo một Builder với chuỗi đã xác định.

  • StringBuilder(int capacity): tạo một Builder trống với dung lượng capacity đã cho.

Các phương thức quan trọng của lớp StringBuffer trong Java

Bảng dưới đây liệt kê và miêu tả chi tiết một số phương thức quan trọng của lớp StringBuffer trong Java:

Phương thức Miêu tả
public StringBuilder append(String s) Được sử dụng để phụ thêm (append) chuỗi đã cho với chuỗi này. Phương thức append() được nạp chồng giống dạng append(char), append(boolean), append(int), append(float), append(double) ...
public StringBuilder insert(int offset, String s) Được sử dụng để chèn chuỗi đã cho với chuỗi này tại vị trí đã cho. Phương thức insert() được nạp chồng giống dạng insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) ...
public StringBuilder replace(int startIndex, int endIndex, String str) Được sử dụng để thay thế chuỗi từ chỉ mục ban đầu startIndex và chỉ mục kết thúc endIndex đã cho
public StringBuilder delete(int startIndex, int endIndex) Được sử dụng để xóa chuỗi từ chỉ mục startIndex và endIndex đã cho
public StringBuilder reverse() Được sử dụng để đảo ngược chuỗi
public int capacity() Được sử dụng để trả về dung lượng capacity hiện tại
public void ensureCapacity(int minimumCapacity) Được sử dụng để bảo đảm rằng capacity ít nhất bằng với minimum đã cho
public char charAt(int index) Được sử dụng để trả về ký tự tại vị trí đã cho
public int length() Được sử dụng để trả về độ dài của chuỗi (chẳng hạn như tổng số ký tự)
public String substring(int beginIndex) Được sử dụng để trả về chuỗi con từ chỉ mục bắt đầu beginIndex đã cho
public String substring(int beginIndex, int endIndex) Được sử dụng để trả về chuỗi con từ beginIndex đến endIndex đã cho

Phương thức append() của lớp StringBuffer trong Java

Phương thức append() được sử dụng để nối chuỗi tham số đã cho với chuỗi này. Ví dụ:

class VIETJACK{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello ");  
sb.append("Java");//bay gio chuoi ban dau bi thay doi  
System.out.println(sb);//in ra ket qua la Hello Java  
}  
}   

Phương thức insert() của lớp StringBuffer trong Java

Phương thức insert() chèn chuỗi đã cho vào chuỗi này tại vị trí đã cho. Ví dụ:

class VIETJACK{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello ");  
sb.insert(1,"Java");//bay gio chuoi ban dau bi thay doi  
System.out.println(sb);//in ra ket qua la HJavaello  
}  
}  

Phương thức replace() của lớp StringBuffer trong Java

Phương thức replace() thay thế chuỗi đã cho bắt đầu từ chỉ mục beginIndex tới endIndex. Ví dụ:

class VIETJACK{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello");  
sb.replace(1,3,"Java");  
System.out.println(sb);//in ra ket qua la HJavalo  
}  
}  

Phương thức delete() của lớp StringBuffer trong Java

Phương thức delete() xóa chuỗi bắt đầu từ chỉ mục beginIndex tới endIndex đã cho. Ví dụ:

class VIETJACK{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello");  
sb.delete(1,3);  
System.out.println(sb);//in ra ket qua la Hlo  
}  
}  

Phương thức reverse() của lớp StringBuffer trong Java

Phương thức reverse() đảo ngược chuỗi hiện tại. Ví dụ:

class VIETJACK{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello");  
sb.reverse();  
System.out.println(sb);//in ra ket qua la olleH  
}  
}  

Phương thức capacity() của lớp StringBuffer trong Java

Phương thức capacity() trả về dung lượng capacity hiện tại của bộ đệm. Dung lượng capacity mặc định của bộ đệm là 16. Nếu số ký tự tăng lên từ dung lượng hiện tại, nó tăng dung lượng theo công thức (oldcapacity*2)+2. Ví dụ, nếu dung lượng hiện tại là 16, nó sẽ là (16*2)+2=34. Ví dụ:

class VIETJACK{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder();  
System.out.println(sb.capacity());//mac dinh la 16  
sb.append("Hello");  
System.out.println(sb.capacity());//bay gio la 16  
sb.append("Java la mot ngon ngu lap trinh manh me");  
System.out.println(sb.capacity());//bay gio la (16*2)+2=34 vi du cua cong thuc (oldcapacity*2)+2  
}  
}  

Phương thức ensureCapacity() của lớp StringBuffer trong Java

Phương thức ensureCapcity() bảo đảm rằng capacity ít nhất bằng với minimum đã cho. Nếu nó lớn hơn capacity hiện tại, nó tăng capacity theo công thức (oldcapacity*2)+2. Ví dụ, nếu dung lượng hiện tại là 16, nó sẽ là (16*2)+2=34. Ví dụ:

class VIETJACK{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder();  
System.out.println(sb.capacity());//mac dinh la 16  
sb.append("Hello");  
System.out.println(sb.capacity());//bay gio la 16  
sb.append("Java la mot ngon ngu lap trinh manh me");  
System.out.println(sb.capacity());//bay gio la (16*2)+2=34 vi du cua cong thuc (oldcapacity*2)+2  
sb.ensureCapacity(10);//bay gio khong phai thay doi 
System.out.println(sb.capacity());//bay gio la 34  
sb.ensureCapacity(50);//now (34*2)+2  
System.out.println(sb.capacity());//bay gio la 70  
}  
}  

Mọi người cho thể tham gia khóa học thứ 5 của vietjackteam vào cuối tháng 11/2017 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Khóa học cũng đưa 200 câu hỏi phỏng vấn java trên https://www.javatpoint.com/corejava-interview-questions vào nội dung để giúp các bạn dễ dàng vượt qua kì phỏng vấn

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Thông tin khóa học tại Khóa học Java Online trên Udemy

Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.



Demo một bài giảng trong khóa học online tại vietjackteam.