Αντικατάσταση Java HashMap ()

Η μέθοδος αντικατάστασης Java HashMap () αντικαθιστά τη χαρτογράφηση για το καθορισμένο κλειδί με την καθορισμένη νέα τιμή σε έναν κατακερματισμό.

Η σύνταξη της replace()μεθόδου είναι:

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

Εδώ, το hashmap είναι ένα αντικείμενο της HashMapτάξης.

αντικαταστήστε () Παράμετροι

Η replace()μέθοδος μπορεί να πάρει 3 παραμέτρους.

  • key - key του οποίου η αντιστοίχιση πρόκειται να αντικατασταθεί
  • oldValue (προαιρετικό) - τιμή που πρέπει να αντικατασταθεί στη χαρτογράφηση
  • newValue - oldValue αντικαθίσταται με αυτήν την τιμή

Αντικαταστήστε () Επιστροφή Τιμές

Η replace()μέθοδος HashMap αντικαθιστά τη χαρτογράφηση και επιστρέφει:

  • η προηγούμενη τιμή που σχετίζεται με το καθορισμένο κλειδί, εάν η προαιρετική παράμετρος oldValue δεν υπάρχει
  • true, εάν υπάρχει η προαιρετική παράμετρος oldValue

Σημείωση : Η μέθοδος επιστρέφει null, εάν είτε το καθορισμένο κλειδί αντιστοιχίζεται σε τιμή 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)

Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει ένα κατακερματισμένο με όνομα γλώσσες. Εδώ, χρησιμοποιήσαμε τη μέθοδο Repl () για να αντικαταστήσουμε την καταχώριση για το κλειδί 1 (1 = Αγγλικά) με την καθορισμένη τιμή Java.

Εδώ, η replace()μέθοδος δεν έχει την προαιρετική παράμετρο oldValue. Ως εκ τούτου, επιστρέφει την παλιά τιμή (Αγγλικά).

Παράδειγμα 2: Αντικατάσταση HashMap () με παλιά τιμή

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

Εδώ, η μέθοδος αντικατάστασης () περιλαμβάνει την προαιρετική παράμετρο oldValue (America). Ως εκ τούτου, η χαρτογράφηση όπου η βασική Ουάσιγκτον χαρτογραφεί για να εκτιμήσει την Αμερική αντικαθίσταται με νέα αξία ΗΠΑ.

Ωστόσο, παρατηρήστε τη γραμμή,

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

Εδώ, στο hashmap, το κλειδί Canberra δεν χαρτογραφεί για να εκτιμήσει τη Νέα Ζηλανδία. Ως εκ τούτου, η μέθοδος αντικατάστασης () δεν αντικαθιστά καμία τιμή.

Σημείωση : Μπορούμε να χρησιμοποιήσουμε τη μέθοδο 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 μετά την αντικατάσταση (): (1 = Python, 2 = JavaScript)

Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει δύο κατακερματισμούς που ονομάζονται γλώσσες1 και γλώσσες2. Χρησιμοποιήσαμε τη μέθοδο HashMap putAll () έτσι ώστε και οι δύο κατακερματισμοί να έχουν τις ίδιες αντιστοιχίσεις.

Εδώ, η αντιστοίχιση για το κλειδί 3 δεν υπάρχει στο hashmap. Ως εκ τούτου,

  • η put()μέθοδος προσθέτει τη νέα χαρτογράφηση (3 = Java) για ναHashMap
  • η replace()μέθοδος δεν εκτελεί καμία λειτουργία

Για να μάθετε περισσότερα σχετικά με την προσθήκη καταχωρήσεων, επισκεφθείτε το Java HashMap put ().

ενδιαφέροντα άρθρα...