Thao tác số lượng lớn (Bulk)

Một phần của tài liệu Bài giảng Lập trình hướng đối tượng: Phần 2 (Trang 66 - 68)

THƯ VIỆN CÁC COLLECTION TRONG JAVA VÀ ÁP DỤNG.

8.2.3Thao tác số lượng lớn (Bulk)

Thao tác Bulk thực hiện 1 thao tác trên toàn bộ Collection. Có thể cài đặt những thao tác Bulk bằng những thao tác cơ bản, mặc dù trong phần lớn trường hợp, những cài đặt này tỏ ra kém hiệu quả hơn. Dưới đây là những thao tác Bulk:

containsAll – trả về true nếu Collection đích chứa toàn bộ các phần tử có trong Collection chỉ định.

addAll – thêm tất cả phần tử trong Collection chỉ định vào Collection đích. removeAll – xóa tất cả những phần tử trong Collection đích mà CÓ TRONG Collection chỉ định.

204 retainAll - xóa tất cả những phần tử trong Collection đích mà KHÔNG CÓ TRONG Collection chỉ định. Nghĩa là, nó chỉ giữ lại những phần tử có ở trong Collection chỉ định.

clear – xóa toàn bộ phần tử trong Collection. Giải thích:

Từ các định nghĩa trên, ta có thể mô tả được một số phương thức dựa trên lý thuyết tập hợp như sau:

o containsAll: Nhìn chung phương thức mô phỏng khá đúng mối quan hệ tập con – cha: từ hình trên ta thấy : Mọi phần tử của A phải nằm trong B hay

B.containsAll(A) == true;

addAll: Là mô phỏng của phép hợp, ta cũng có thể biểu diễn dưới dạng giản đồ Venn:

removeAll: Dễ dàng nhận thấy đây là phép trừ 2 tập hợp: xóa những phần tử trong Collection hiện tại mà có trong Collection tham số. Ta chỉ lấy phần còn lại của Collection hiện tại

205 retainAll: Phương thức này là 1 mô phỏng của phép giao: Xóa phần tử trong A mà không có trong B. Vậy phần còn lại của tập A chính là giao của 2 tập.

Phương thức addAll, removeAll, retainAll trả về true nếu Collection đích được thay đổi trong quá trình thực hiện lời gọi thao tác.

Minh họa về khả năng của thao tác Bulk, ta lấy ví dụ về xóa tất cả các thể hiện của 1 phần tử chỉ định nào đó, phần tử e, khỏi Collection c.

c.removeAll(Collections.singleton(e));

Cụ thể hơn, giả sử ta muốn xóa toàn bộ những phần tử null khỏi Collection.

c.removeAll(Collections.singleton(null));

Câu lệnh sử dụng Collections.singleton, 1 phương thức tĩnh, trả về 1 Set bất biến chỉ chứa những phần tử xác định (khác null).

Một phần của tài liệu Bài giảng Lập trình hướng đối tượng: Phần 2 (Trang 66 - 68)