StringBuffer trong java với ví dụ cụ thể

bài trước, chúng ta đã tìm hiểu về String immutable tất là không thể thay đổi được khi đã khởi tạo. StringBuffer đại diện cho chuỗi ký tự có thể thay đổi được, kích thước của nó có thể tăng giảm khi chúng ta ghi xuống hoặc xóa đi.

StringBuffer Constructors

Mặc định StringBuffer có các constructors sau:

StringBuffer() 

StringBuffer s = new StringBuffer();

StringBuffer(int size)

Khởi tạo StringBuffer với kích thước size.

StringBuffer s = new StringBuffer(10);

StringBuffer(String str)

Khởi tạo StringBuffer với str là chuỗi ban đầu

StringBuffer s=new StringBuffer("shareprogramming.net");

StringBuffer method

1, int length(): Trả về số lượng phần tử của StringBuff

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.length()); // return 20

2, int capacity(): Trả về tổng số lượng phần tử mà StringBuffer có thể chứa được 

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.capacity()); // return 36

3, StringBuffer append(Object o): Nối một object vào StringBuffer

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.append(" - welcome"));
System.out.println(str.append(2));
System.out.println(str.append(true));
System.out.println(str.append(5.5));

// Output
// shareprogramming.net - welcome
// shareprogramming.net - welcome2
// shareprogramming.net - welcome2true
// shareprogramming.net - welcome2true5.5

4, StringBuffer insert(): Thêm chuỗi str vào vị trí index. 

Chúng ta có các method với các tham số khác nhau:

  • StringBuffer insert(int index, String str)
  • StringBuffer insert(int index, char ch)
  • StringBuffer insert(int index, boolean ch)
StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.insert(20, " - welcome"));
System.out.println(str.insert(25, 2));
System.out.println(str.insert(10, true));
System.out.println(str.insert(5, 5.5));

// output
// shareprogramming.net - welcome
// shareprogramming.net - we2lcome
// shareprogrtrueamming.net - we2lcome
// share5.5progrtrueamming.net - we2lcome

6, StringBuffer reverse(): Đảo ngược chuỗi

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.reverse()); // ten.gnimmargorperahs

7, StringBuffer delete(int start, int end): Xoá các ký tự bắt đầu từ start đến end

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.delete(0, 5)); // return "programming.net"

8, StringBuffer deleteCharAt(int index): xoá ký tự tại vị trí index

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.deleteCharAt(0)); // return "shareprogramming.net"

9, StringBuffer replace(int start, int end, String str): Thay thế các ký tự trong khoảng start – end bằng chuỗi str.

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.replace(0, str.length(), "hello")); // return "hello"

10, char charAt(int index): Trả về ký tự tại vị trí index

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.charAt(10)); // return "a"

11, int indexOf(String str): Trả về vị trí của chuỗi str, trả về -1 nếu không tìm thấy

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.indexOf("net")); // return 17

12, int indexOf(String str, int from): Tìm chuỗi str bắt đầu từ vị trí from.

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.indexOf("g", 10)); // return 15
System.out.println(str.indexOf("g", 0)); // return 8

13, int lastIndexOf(String str): Trả về vị trí cuối cùng của str.

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.lastIndexOf("g")); // return 15

14, int lastIndexOf(String str, int from): Trả về vị trí cuối cùng của str, bắt đầu tìm ngược lại từ vị trí from đến đầu chuỗi.

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.lastIndexOf("g", 10)); // return 8

15, void setCharAt(int index, char ch): Gán ký tự ch tại vị trí index

StringBuffer str = new StringBuffer("shareprogramming.net");
str.setCharAt(10, '*'); // return "shareprogr*mming.net"

16, String subtring(int start, int end): Trả về chuỗi con từ start đến end

StringBuffer str = new StringBuffer("shareprogramming.net");
System.out.println(str.substring(0, 5)); // return "share"

Note:

  • StringBuffer thừa kế từ Object class.
  • StringBuffer an toàn khi sử dụng đa luồng, vì các phương thức được đồng bộ hoá.
  • Khi thực hiện các hành động như append(), insert() xảy ra trên chuỗi nguồn thì quá trình đồng bộ chỉ xảy ra trên chuỗi được thực hiện(tất là chuỗi được insert hay append vào chuỗi nguồn)

Nguồn tham khảo

https://www.geeksforgeeks.org/stringbuffer-class-in-java/

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x