Khởi tạo các Immutable Collection trong Java

Immutable Collection cũng giống như Immutable Object, một khi đã được khởi tạo, chúng ta không thể chỉnh sửa gì trên Object hay Collection đó nữa. Từ Java 8 trở về trước, để khởi tạo một Immutable Collection như List, Set hay Map, chúng ta sẽ sử dụng các phương thức unmodifiableXXX()  trong class java.util.Collections.

Ví dụ như mình tạo mới một đối tượng immutable của List như sau:

Nếu bây giờ, các bạn muốn thêm mới giá trị cho đối tượng students trên:

thì sẽ xảy ra lỗi này:

Khởi tạo các Immutable Collection trong Java

Từ Java 9, Java có thêm phương thức static of() trong các đối tượng List, Set, Map giúp chúng ta khởi tạo Immutable Collection dễ dàng hơn.

Ví dụ, bây giờ để khởi tạo một Immutable List, chúng ta chỉ cần viết code như sau:

Với Immutable Set thì vẫn tương tự như Immutable List:

Với Immutable Map thì có hơi khác một xí. Ví dụ từ Java 8 trở về trước thì chúng ta sẽ viết như sau:

Nhưng với Java 9 thì chúng ta có thể viết gọn lại như sau:

Như các bạn thấy với Immutable Map thì chúng ta sẽ truyền vào phương thức static of() key và value của Map theo thứ tự (key1, value1, key2, value2, …).

Kết quả:

Khởi tạo các Immutable Collection trong Java


Add Comment