Java HashMap замени ()

Методът Java HashMap replace () замества преобразуването за посочения ключ с посочената нова стойност в hashmap.

Синтаксисът на replace()метода е:

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

Тук hashmap е обект на HashMapкласа.

replace () Параметри

В replace()метода може да отнеме 3 параметри.

  • ключ - ключ, чието картографиране трябва да бъде заменено
  • oldValue (по избор) - стойност, която трябва да бъде заменена в картографирането
  • newValue - oldValue се заменя с тази стойност

replace () Връщани стойности

Методът HashMap replace()замества картографирането и връща:

  • предишната стойност, свързана с посочения ключ, ако не е наличен незадължителният параметър oldValue
  • true, ако е наличен незадължителният параметър oldValue

Забележка : Методът връща null, ако или посоченият ключ е преобразуван в нулева стойност, или ключът не присъства в hashmap.

Пример 1: Заменете запис в 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); ) )

Изход

 HashMap: (1 = Python, 2 = английски, 3 = JavaScript) Заменена стойност: актуализиран на английски HashMap: (1 = Python, 2 = Java, 3 = JavaScript)

В горния пример създадохме хеш-карта с имена езици. Тук използвахме метода replace (), за да заменим записа за ключ 1 (1 = английски) с посочената стойност Java.

Тук replace()методът няма незадължителен параметър oldValue. Следователно връща старата стойност (английски).

Пример 2: HashMap replace () със стара стойност

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

Изход

 Държави: (Канбера = Австралия, Отава = Канада, Вашингтон = Америка) Страни след замяна (): (Канбера = Австралия, Отава = Канада, Вашингтон = САЩ)

В горния пример създадохме хеш-карта с име държави. Забележете линията,

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

Тук методът replace () включва незадължителния параметър oldValue (Америка). Следователно, картографирането, където ключовите карти на Вашингтон за оценка на Америка се заменя с нова стойност на САЩ.

Забележете обаче реда,

 countries.replace ("Канбера", "Нова Зеландия", "Виктория");

Тук, в hashmap, ключът Канбера не картографира, за да оцени Нова Зеландия. Следователно методът replace () не замества никаква стойност.

Забележка : Можем да използваме метода Java HashMap clear (), за да премахнем всички съпоставяния от hashmap.

HashMap put () Vs. замени ()

Синтаксисът на метода put()и replace()изглежда доста сходен в HashMap.

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

И когато hashmap съдържа съпоставянето за посочения ключ , тогава и двата метода заместват стойността, свързана с посочения ключ.

Ако обаче hashmap не съдържа никакво съпоставяне за посочения ключ , тогава

  • на put()метода вмъква ново картографиране за определен ключ и стойност
  • най replace()връща методnull

Пример 3: HashMap put () Vs. замени ()

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

Изход

 HashMap: (1 = Python, 2 = JavaScript) HashMap след put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap след replace (): (1 = Python, 2 = JavaScript)

В горния пример създадохме две хеш карти с имена languages1 и languages2. Използвахме метода на HashMap putAll (), така че и двете хеш-карти да имат еднакви съпоставяния.

Тук картографирането за ключ 3 не присъства в хеш-картата. Следователно,

  • на put()метода добавя нов картографиране (3 = Java) наHashMap
  • на replace()метода не извършва всяка операция

За да научите повече за добавяне на записи, посетете Java HashMap put ().

Интересни статии...