Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để tạo một chuỗi bộ sưu tập an toàn trong java?

Lớp Collections của các phương thức gói java.util chỉ hoạt động trên các tập hợp mà các phương thức này cung cấp các hoạt động bổ sung khác nhau liên quan đến các thuật toán đa hình.

Lớp này cung cấp các biến thể khác nhau của phương thức syncCollection () như được hiển thị bên dưới -

Sr.No Phương pháp &Mô tả
1 static Bộ sưu tập syncCollection (Bộ sưu tập c)
Phương thức này chấp nhận bất kỳ đối tượng bộ sưu tập nào và trả về một bộ sưu tập được đồng bộ hóa (an toàn theo luồng) được hỗ trợ bởi bộ sưu tập đã chỉ định.
2 static List syncList (Danh sách danh sách)
Phương thức này chấp nhận một đối tượng của giao diện Danh sách trả về một danh sách được đồng bộ hóa (an toàn theo luồng) được hỗ trợ bởi danh sách đã chỉ định.
3 static Map syncMap (Bản đồ m)
Phương thức này chấp nhận một đối tượng của giao diện Bản đồ và trả về một bản đồ được đồng bộ hóa (an toàn theo luồng) được hỗ trợ bởi bản đồ đã chỉ định.
4 static Set syncSet (Đặt s)
Phương thức này chấp nhận một đối tượng của giao diện Set và trả về một tập hợp được đồng bộ hóa (an toàn luồng) được hỗ trợ bởi tập hợp đã chỉ định.
5 static SortedMap syncSortedMap (Bản đồ đã sắp xếp m)
Phương thức này chấp nhận một đối tượng của giao diện Bản đồ và trả về một bản đồ được sắp xếp được đồng bộ hóa (an toàn theo luồng) được hỗ trợ bởi bản đồ được sắp xếp đã chỉ định.
6 static SortedSet syncSortedSet (SortedSet s)
Phương thức này chấp nhận một đối tượng của giao diện syncSortedSet và trả về một tập hợp được sắp xếp được đồng bộ hóa (an toàn theo luồng) được hỗ trợ bởi tập hợp được sắp xếp đã chỉ định.

Ví dụ

import java.util.Collection;
import java.util.Collections;
import java.util.Vector;
public class CollectionReadOnly {
   public static void main(String[] args) {
      //Instantiating an ArrayList object
      Vector<String> vector = new Vector<String>();
      vector.add("JavaFx");
      vector.add("Java");
      vector.add("WebGL");
      vector.add("OpenCV");
      System.out.println(vector);
      Collection<String> synchronizedVector = Collections.synchronizedCollection(vector);
      System.out.println("Synchronized "+synchronizedVector);
      synchronizedVector.add("CoffeeScript");
   }
}

Đầu ra

[JavaFx, Java, WebGL, OpenCV]
Synchronized [JavaFx, Java, WebGL, OpenCV]