Java HashMap replace ()

Java HashMap replace () yöntemi, belirtilen anahtarın eşlemesini bir karma haritadaki belirtilen yeni değerle değiştirir.

replace()Yöntemin sözdizimi şöyledir:

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

Burada hashmap, HashMapsınıfın bir nesnesidir .

replace () Parametreler

replace()Yöntem 3 parametre alabilir.

  • anahtar - eşlemesi değiştirilecek anahtar
  • oldValue (isteğe bağlı) - eşlemede değiştirilecek değer
  • newValue - oldValue bu değerle değiştirilir

replace () Dönen Değerler

HashMap replace()yöntemi eşlemenin yerini alır ve şunu döndürür:

  • isteğe bağlı oldValue parametresi yoksa, belirtilen anahtarla ilişkili önceki değer
  • trueisteğe bağlı eskiValue parametresi varsa

Not : Yöntem null, belirtilen anahtar boş bir değere eşlenirse veya anahtar karma eşlemde yoksa geri döner .

Örnek 1: HashMap'te bir Girişi Değiştirme

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

Çıktı

 HashMap: (1 = Python, 2 = İngilizce, 3 = JavaScript) Değiştirilen Değer: İngilizce Güncellenmiş HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

Yukarıdaki örnekte, diller adlı bir hashmap oluşturduk. Burada, anahtar 1 (1 = İngilizce) girişini belirtilen Java değeriyle değiştirmek için replace () yöntemini kullandık .

Burada, replace()yöntem isteğe bağlı oldValue parametresine sahip değildir. Dolayısıyla, eski değeri (İngilizce) döndürür.

Örnek 2: HashMap, () öğesini Eski Değer ile değiştirir

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

Çıktı

 Ülkeler: (Canberra = Avustralya, Ottawa = Kanada, Washington = Amerika) Değiştirilen ülkeler (): (Canberra = Avustralya, Ottawa = Kanada, Washington = ABD)

Yukarıdaki örnekte, ülkeler adlı bir hashmap oluşturduk. Çizgiye dikkat edin,

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

Burada, replace () yöntemi isteğe bağlı oldValue parametresini (Amerika) içerir. Bu nedenle, Washington'un Amerika'ya değer vermek için haritalandırdığı haritalama yeni değer USA ile değiştirilir.

Ancak, satıra dikkat edin,

 country.replace ("Canberra", "Yeni Zelanda", "Victoria");

Burada, hashmap'te, Canberra anahtarı Yeni Zelanda değerini eşleştirmiyor. Dolayısıyla, replace () yöntemi herhangi bir değerin yerine geçmez.

Not : Tüm eşleşmeleri hashmap'ten kaldırmak için Java HashMap clear () yöntemini kullanabiliriz.

HashMap put () Vs. değiştir ()

put()Ve replace()yönteminin sözdizimi HashMap.

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

Ve karma eşleme belirtilen anahtar için eşlemeyi içerdiğinde, her iki yöntem de belirtilen anahtarla ilişkili değeri değiştirir.

Ancak, hashmap belirtilen anahtar için herhangi bir eşleme içermiyorsa , o zaman

  • put()yöntem, belirli yeni eşleme ekler anahtar ve değer
  • replace()yöntemi döndürürnull

Örnek 3: HashMap put () Vs. değiştir ()

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

Çıktı

 HashMap: (1 = Python, 2 = JavaScript) koyduktan sonra HashMap (): (1 = Python, 2 = JavaScript, 3 = Java) Değiştirmeden sonra HashMap (): (1 = Python, 2 = JavaScript)

Yukarıdaki örnekte, diller1 ve diller2 adlı iki hashmap oluşturduk. HashMap putAll () yöntemini kullandık, böylece her iki hashmap de aynı eşlemelere sahip.

Burada, anahtar 3 için eşleme , karma haritada mevcut değildir. Dolayısıyla

  • put()Bu yöntem yeni eşleme ekler (3 = Java) içinHashMap
  • replace()yöntem herhangi bir işlem yapmaz

Giriş eklemeyle ilgili daha fazla bilgi edinmek için Java HashMap put () adresini ziyaret edin.

Ilginç makaleler...