Java putIfAbsent() – Phương thức của Map Interface
Trong Java, phương thức putIfAbsent()
là một phần của interface Map
và được sử dụng để thêm một cặp key-value vào Map chỉ khi key đó chưa tồn tại trong Map. Nếu key đã tồn tại, phương thức sẽ không thực hiện thêm và trả về giá trị hiện tại của key đó.
Định nghĩa
Cú pháp của phương thức putIfAbsent()
như sau:
V putIfAbsent(K key, V value);
Trong đó:
K
: Kiểu của key trong Map.V
: Kiểu của value trong Map.key
: Key cần kiểm tra và thêm vào Map.value
: Value sẽ được thêm vào Map nếu key chưa tồn tại.
Cú pháp
Phương thức putIfAbsent()
sẽ trả về:
- Giá trị cũ của key nếu nó đã tồn tại trong Map.
null
nếu key chưa có trong Map và value được thêm thành công.
Ví dụ sử dụng
Dưới đây là một ví dụ minh họa cách sử dụng phương thức putIfAbsent()
:
import java.util.HashMap; import java.util.Map; public class Example { public static void main(String[] args) { Mapmap = new HashMap<>(); // Thêm một cặp key-value map.put("Apple", 1); System.out.println("Giá trị của Apple: " + map.get("Apple")); // In ra 1 // Sử dụng putIfAbsent để thêm cặp key-value Integer oldValue = map.putIfAbsent("Apple", 2); System.out.println("Giá trị cũ của Apple: " + oldValue); // In ra 1 System.out.println("Giá trị của Apple sau khi putIfAbsent: " + map.get("Apple")); // Vẫn là 1 // Thêm một key mới Integer newValue = map.putIfAbsent("Banana", 2); System.out.println("Banana đã được thêm với giá trị: " + newValue); // In ra null System.out.println("Giá trị của Banana: " + map.get("Banana")); // In ra 2 } }
Trong ví dụ trên:
- Khi chúng ta cố gắng thêm giá trị mới cho key "Apple", phương thức
putIfAbsent()
trả về giá trị cũ (1) và không thay đổi giá trị trong Map. - Khi chúng ta thêm key "Banana", phương thức thêm thành công và trả về
null
vì key "Banana" chưa tồn tại.
Kết luận
Phương thức putIfAbsent()
là một công cụ hữu ích để quản lý dữ liệu trong Java Collections Framework, giúp tăng cường tính chính xác khi thao tác với các Map. Sử dụng phương thức này, bạn có thể dễ dàng đảm bảo rằng chỉ những key không tồn tại mới được thêm vào Map, giúp bạn giảm thiểu các lỗi không mong muốn trong quá trình xây dựng ứng dụng.