Java HashMap thay thế ()

Phương thức Replace () của Java HashMap thay thế ánh xạ cho khóa được chỉ định bằng giá trị mới được chỉ định trong một bản đồ băm.

Cú pháp của replace()phương thức là:

 hashmap.replace(K key, V oldValue, V newValue)

Ở đây, hashmap là một đối tượng của HashMaplớp.

thay thế () Tham số

Các replace()phương pháp có thể mất 3 tham số.

  • key - key có ánh xạ sẽ được thay thế
  • oldValue (tùy chọn) - giá trị được thay thế trong ánh xạ
  • newValue - oldValue được thay thế bằng giá trị này

thay thế () Giá trị trả lại

replace()Phương thức HashMap thay thế ánh xạ và trả về:

  • giá trị trước đó được liên kết với khóa được chỉ định, nếu tham số tùy chọn oldValue không có
  • true, nếu tham số tùy chọn oldValue hiện diện

Lưu ý : Phương thức trả về null, nếu khóa được chỉ định được ánh xạ thành giá trị null hoặc khóa không có trên bản đồ băm.

Ví dụ 1: Thay thế một mục nhập trong HashMap

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages = new HashMap(); // add entries to HashMap languages.put(1, "Python"); languages.put(2, "English"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // replace mapping for key 2 String value = languages.replace(2, "Java"); System.out.println("Replaced Value: " + value); System.out.println("Updated HashMap: " + languages); ) )

Đầu ra

 HashMap: (1 = Python, 2 = English, 3 = JavaScript) Giá trị được thay thế: English Cập nhật HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

Trong ví dụ trên, chúng tôi đã tạo một bản đồ băm có tên các ngôn ngữ. Ở đây, chúng tôi đã sử dụng phương thức Replace () để thay thế mục nhập cho khóa 1 (1 = tiếng Anh) với giá trị được chỉ định Java.

Ở đây, replace()phương thức không có tham số oldValue tùy chọn. Do đó, nó trả về giá trị cũ (tiếng Anh).

Ví dụ 2: HashMap thay thế () bằng Giá trị cũ

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap countries = new HashMap(); // insert items to the HashMap countries.put("Washington", "America"); countries.put("Ottawa", "Canada"); countries.put("Canberra", "Australia"); System.out.println("Countries:" + countries); // replace mapping (Washington = America) countries.replace("Washington", "America", "USA"); // return true countries.replace("Canberra", "New Zealand", "Victoria"); // return false System.out.println("Countries after replace():" + countries); ) )

Đầu ra

 Quốc gia: (Canberra = Úc, Ottawa = Canada, Washington = Mỹ) Các quốc gia sau khi thay thế (): (Canberra = Úc, Ottawa = Canada, Washington = Hoa Kỳ)

Trong ví dụ trên, chúng tôi đã tạo một bản đồ băm có tên các quốc gia. Lưu ý dòng,

 countries.replace("Washington", "America", "USA");

Ở đây, phương thức Replace () bao gồm tham số oldValue (Mỹ) tùy chọn. Do đó, bản đồ nơi các bản đồ quan trọng của Washington đánh giá giá trị của nước Mỹ được thay thế bằng giá trị mới của nước Mỹ.

Tuy nhiên, hãy lưu ý dòng,

 country.replace ("Canberra", "New Zealand", "Victoria");

Ở đây, trong bản đồ băm, khóa Canberra không ánh xạ để định giá New Zealand. Do đó, phương thức Replace () không thay thế bất kỳ giá trị nào.

Lưu ý : Chúng ta có thể sử dụng phương thức Java HashMap clear () để loại bỏ tất cả các ánh xạ khỏi hashmap.

HashMap put () Vs. thay thế()

Cú pháp của phương thức put()và có replace()vẻ khá giống nhau HashMap.

 // syntax of put() hashmap.put(key, value) // syntax of replace() hashmap.replace(key, value)

Và, khi bản đồ băm chứa ánh xạ cho khóa được chỉ định , thì cả hai phương thức sẽ thay thế giá trị được liên kết với khóa được chỉ định.

Tuy nhiên, nếu bản đồ băm không chứa bất kỳ ánh xạ nào cho khóa được chỉ định , thì

  • các put()phương pháp chèn các bản đồ mới cho định quan trọnggiá trị
  • các replace()trở về phương phápnull

Ví dụ 3: HashMap put () Vs. thay thế()

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages1 = new HashMap(); // insert entries to HashMap languages1.put(1, "Python"); languages1.put(2, "JavaScript"); // create another HashMap similar to languages1 HashMap languages2 = new HashMap(); // puts all entries from languages1 to languages2 languages2.putAll(languages1); System.out.println("HashMap: " + languages1); // use of put() languages2.put(3, "Java"); System.out.println("HashMap after put():" + languages2); // use of replace() languages1.replace(3, "Java"); System.out.println("HashMap after replace():" + languages1); ) )

Đầu ra

 HashMap: (1 = Python, 2 = JavaScript) HashMap sau khi put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap sau Replace (): (1 = Python, 2 = JavaScript)

Trong ví dụ trên, chúng ta đã tạo hai bản đồ băm có tên là ngôn ngữ 1 và ngôn ngữ 2. Chúng tôi đã sử dụng phương thức HashMap putAll () để cả hai bản đồ băm đều có các ánh xạ giống nhau.

Ở đây, ánh xạ cho khóa 3 không có trong bản đồ băm. Vì thế,

  • các put()phương pháp bổ sung thêm các bản đồ mới (3 = Java) đểHashMap
  • các replace()phương pháp không thực hiện bất kỳ hoạt động

Để tìm hiểu thêm về cách thêm các mục nhập, hãy truy cập Java HashMap put ().

thú vị bài viết...