49. Lớp StringBuilder trong lập trình java

Lớp StringBuilder trong lập trình Java cũng là một lớp được sử dụng để thao tác với chuỗi ký tự có khả năng thay đổi (mutable), tương tự như lớp StringBuffer. Tuy nhiên, có một điểm khác biệt quan trọng giữa hai lớp này:

  1. Tính đa luồng (Thread-safety): StringBuilder không đảm bảo tính đa luồng, nghĩa là nó không được thiết kế để đảm bảo an toàn khi làm việc với các luồng (threads) đồng thời. Điều này làm cho StringBuilder hiệu quả hơn so với StringBuffer trong môi trường đơn luồng, khi bạn không cần quan tâm đến vấn đề đồng bộ hóa.

StringBuilder cung cấp các phương thức để thêm, thay đổi và xóa các ký tự trong chuỗi một cách hiệu quả, tương tự như lớp StringBuffer. Bạn nên sử dụng StringBuilder khi bạn không cần hỗ trợ đa luồng và muốn thực hiện nhiều thao tác trên chuỗi mà không muốn tạo ra nhiều đối tượng String tạm thời.

Dưới đây là một số phương thức quan trọng của lớp StringBuilder:

  1. append(String str): Thêm chuỗi str vào cuối của StringBuilder.
  2. insert(int offset, String str): Chèn chuỗi str vào vị trí offset của StringBuilder.
  3. delete(int start, int end): Xóa các ký tự từ vị trí start đến end-1 khỏi StringBuilder.
  4. replace(int start, int end, String str): Thay thế các ký tự từ vị trí start đến end-1 bằng chuỗi str.
  5. reverse(): Đảo ngược chuỗi trong StringBuilder.
  6. capacity(): Trả về dung lượng hiện tại của StringBuilder.
  7. length(): Trả về độ dài (số ký tự) của StringBuilder.
  8. charAt(int index): Trả về ký tự tại vị trí chỉ mục index.
  9. setCharAt(int index, char ch): Đặt giá trị ký tự ch tại vị trí chỉ mục index.

Ví dụ sử dụng StringBuilder:

java
public class StringBuilderExample {
    public static void main(String[] args) {
        StringBuilder stringBuilder = new StringBuilder("Hello");

        // Thêm chuỗi vào cuối
        stringBuilder.append(" World");
        System.out.println(stringBuilder); // Kết quả: "Hello World"

        // Chèn chuỗi vào vị trí chỉ mục 5
        stringBuilder.insert(5, " Java");
        System.out.println(stringBuilder); // Kết quả: "Hello Java World"

        // Xóa các ký tự từ vị trí 5 đến 10
        stringBuilder.delete(5, 11);
        System.out.println(stringBuilder); // Kết quả: "Hello World"

        // Thay thế các ký tự từ vị trí 6 đến 11 bằng chuỗi "Java"
        stringBuilder.replace(6, 11, "Java");
        System.out.println(stringBuilder); // Kết quả: "Hello Java"
    }
}

Lớp StringBuilder là một công cụ mạnh mẽ cho việc thao tác với chuỗi có khả năng thay đổi mà không tạo ra nhiều đối tượng String tạm thời.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top