Java HashMap ganti ()

Kaedah Java HashMap menggantikan () menggantikan pemetaan untuk kunci yang ditentukan dengan nilai baru yang ditentukan dalam hashmap.

Sintaks replace()kaedahnya adalah:

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

Di sini, hashmap adalah objek HashMapkelas.

ganti () Parameter

The replace()kaedah boleh mengambil 3 parameter.

  • key - key yang pemetaannya akan diganti
  • oldValue (pilihan) - nilai yang akan diganti dalam pemetaan
  • newValue - oldValue diganti dengan nilai ini

ganti () Nilai Pulangan

replace()Kaedah HashMap menggantikan pemetaan dan mengembalikan:

  • nilai sebelumnya yang berkaitan dengan kunci yang ditentukan, jika parameter pilihan OldValue tidak ada
  • true, jika parameter pilihan oldValue ada

Catatan : Kaedah kembali null, jika kunci yang ditentukan dipetakan ke nilai nol atau kunci tidak ada pada hashmap.

Contoh 1: Ganti Entri dalam 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); ) )

Pengeluaran

 HashMap: (1 = Python, 2 = Bahasa Inggeris, 3 = JavaScript) Nilai Diganti: Bahasa Inggeris Dikemas kini HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

Dalam contoh di atas, kami telah membuat hashmap bernama bahasa. Di sini, kami telah menggunakan kaedah ganti () untuk menggantikan entri untuk kunci 1 (1 = Bahasa Inggeris) dengan nilai yang ditentukan Java.

Di sini, replace()kaedah tersebut tidak mempunyai parameter oldValue pilihan. Oleh itu, ia mengembalikan nilai lama (Inggeris).

Contoh 2: HashMap ganti () dengan Nilai Lama

 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); ) )

Pengeluaran

 Negara: (Canberra = Australia, Ottawa = Kanada, Washington = Amerika) Negara-negara setelah diganti (): (Canberra = Australia, Ottawa = Kanada, Washington = AS)

Dalam contoh di atas, kami telah membuat negara bernama hashmap. Perhatikan garis,

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

Di sini, kaedah ganti () merangkumi parameter oldValue pilihan (Amerika). Oleh itu, pemetaan di mana peta utama Washington untuk menilai Amerika digantikan dengan USA nilai baru.

Walau bagaimanapun, perhatikan garis,

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

Di sini, dalam hashmap, Canberra utama tidak memetakan nilai New Zealand. Oleh itu, kaedah ganti () tidak menggantikan sebarang nilai.

Catatan : Kita dapat menggunakan metode Java HashMap clear () untuk menghapus semua pemetaan dari hashmap.

HashMap meletakkan () Vs. ganti ()

Sintaks kaedah put()dan replace()kaedah kelihatan serupa HashMap.

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

Dan, apabila hashmap mengandungi pemetaan untuk kunci yang ditentukan , maka kedua-dua kaedah tersebut menggantikan nilai yang berkaitan dengan kunci yang ditentukan.

Namun, jika hashmap tidak mengandungi pemetaan untuk kunci yang ditentukan , maka

  • yang put()kaedah memasukkan pemetaan baru untuk dinyatakan utama dan nilai
  • yang replace()pulangan kaedahnull

Contoh 3: HashMap meletakkan () Vs. ganti ()

 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); ) )

Pengeluaran

 HashMap: (1 = Python, 2 = JavaScript) HashMap setelah meletakkan (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap setelah ganti (): (1 = Python, 2 = JavaScript)

Dalam contoh di atas, kami telah membuat dua hashmaps yang bernama bahasa1 dan bahasa2. Kami telah menggunakan kaedah HashMap putAll () sehingga kedua-dua hashmap mempunyai pemetaan yang sama.

Di sini, pemetaan untuk kunci 3 tidak terdapat dalam hashmap. Oleh itu,

  • yang put()kaedah menambah pemetaan baru (3 = Jawa) untukHashMap
  • yang replace()kaedah tidak melaksanakan apa-apa kerja

Untuk mengetahui lebih lanjut mengenai penambahan entri, kunjungi Java HashMap put ().

Artikel menarik...