Java: Phương thức Collections.synchronizedList() và ví dụ


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Phương thức synchronizedList() của lớp java.util.Collections được sử dụng để trả về danh sách được đồng bộ hóa (an toàn theo luồng) được hỗ trợ bởi danh sách đã chỉ định. Để đảm bảo truy cập nối tiếp, điều quan trọng là tất cả quyền truy cập vào danh sách sao lưu phải được thực hiện thông qua danh sách trả về.

Cú pháp:

public static <T> List<T>
  synchronizedList(List<T> list)

Tham số: Phương thức này nhận danh sách như một tham số được "bao bọc" trong một danh sách được đồng bộ hóa.

Giá trị trả về: Phương thức này trả về một dạng view được đồng bộ hóa của danh sách được chỉ định.

Dưới đây là các ví dụ để minh họa phương thức synchronizedList().

Ví dụ 1:

import java.util.*;

public class Test1 {
  public static void main(String[] argv) throws Exception
  {
    try {

      // Tạo đối tượng List<String>
      List<String> list = new ArrayList<String>();

      // thêm các chuỗi vào list
      list.add("A");
      list.add("B");
      list.add("C");
      list.add("D");
      list.add("E");

      // in ra list
      System.out.println("List : " + list);

      // tạo một list synchronized
      List<String> synlist = Collections.synchronizedList(list);

      // in ra Collection
      System.out.println("Synchronized list is : " + synlist);
    }

    catch (IllegalArgumentException e) {
      System.out.println("Exception thrown : " + e);
    }
  }
}

Kết quả:

List: [A, B, C, D, E]
Synchronized list is: [A, B, C, D, E]

Ví dụ 2:

import java.util.*;

public class Test1 {
  public static void main(String[] argv) throws Exception {
    try {
      // tạo đối tượng List<Integer>
      List<Integer> list = new ArrayList<Integer>();

      // đưa dữ liệu vào list
      list.add(20);
      list.add(30);
      list.add(40);
      list.add(50);
      list.add(60);

      // in ra Collection
      System.out.println("List : " + list);

      // tạo list synchronized
      List<Integer> synlist = Collections.synchronizedList(list);

      // in ra Collection
      System.out.println("Synchronized list is : " + synlist);
    } catch (IllegalArgumentException e) {
      System.out.println("Exception thrown : " + e);
    }
  }
}

Kết quả:

List: [20, 30, 40, 50, 60]
Synchronized list is: [20, 30, 40, 50, 60]
» Tiếp: So sánh ArrayList và Vector
« Trước: CÂU HỎI VÀ BÀI TẬP COLLECTIONS
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!