CodeGym /Blog Jawa /Acak /Cara nganyari nilai kunci sing wis ana ing HashMap
John Squirrels
tingkat
San Francisco

Cara nganyari nilai kunci sing wis ana ing HashMap

Diterbitake ing grup
Sampeyan ngerti manawa tansah ana kunci lan nilai ing HashMap utawa Peta liyane . Kunci diarani kunci kanthi alesan amarga sampeyan entuk akses menyang nilai kanthi kunci. Tombol iku unik, nanging regane ora. Dadi sampeyan ora bisa entuk kunci kanthi nilai amarga nilai bisa diduplikasi. Ing artikel iki, kita bakal nemokake cara nganyari nilai kunci sing ana ing HashMap ing Jawa. Ayo padha ngelingi sintaks Jawa. HashMap ing Jawa diumumake kanthi cara ing ngisor iki:

 HashMap<Key, Value> name
Ayo dadi conto. Ngomong, kita duwe papat kanca lan utamane kanggo wong-wong mau sing digawe lan ngisi HashMap kanthi jeneng. Tombol kasebut minangka nomer integer.

Map<Integer, String> names = new HashMap<Integer, String>();
       names.put(1, "Stan");
       names.put(2, "Kyle");
       names.put(3, "Kenny");
       names.put(4, "Cartman");
Cathetan: sampeyan bisa nggawe lan ngisi Peta kanthi macem-macem cara. Contone, nggunakake blok initialization. Punika:

Map<Integer, String> names = new HashMap<Integer, String>() {
           {
               put(1, "Stan");
               put(2, "Kyle");
               put(3, "Kenny");
               put(4, "Cartman");
           }
       };
Utawa nggunakake metode lan konstruktor HashMap karo argumen peta liyane . Cara iki kasedhiya saka versi 9 lan luwih anyar.

Map<Integer, String> names = new HashMap<>(Map.of(1, "Stan", 2, "Kyle", 3, "Kenny", 4, "Cartman"));
Kaya sing wis dakkandhakake sadurunge, ing tombol HashMap yaiku nomer integer, lan nilai kasebut ngemot sawetara senar, ing kasus kita, jeneng karakter. Ya, ayo ngomong yen ana kedadeyan sing ala marang Kenny (sing maca sing ngerti seri kartun South Park, mesthine ngerti yen ana kedadeyan sing ala karo Kenny). Dadi nalika kedadeyan, kita kudu mbusak Kenny saka perusahaan iki ( HashMap kita ), lan ngganti karo kanca liyane, ujar, kanthi jeneng Butters. Iki gampang banget ditindakake amarga iki minangka operasi nilai nganyari. Bocah Kenny kita duwe kunci == 3 . We kudu ngganti nilai kanggo tombol 3, ngendi Kenny dumunung. Kita bisa nggunakake metode put() kanggo nindakake iki:

names.put(3, "Butters");
Ing kasus iki, yen kita nampilake peta ing layar, asil bakal kaya ing ngisor iki:

{1=Stan, 2=Kyle, 3=Butters, 4=Cartman}
Apa yen kabeh apik karo Kenny lan kita pengin tetep ing perusahaan, nanging kita duwe alesan kanggo nganyari kunci? Ngomong, dheweke dudu nomer telu maneh, nanging nomer lima. Ayo sijine Kenny menyang peta maneh karo tombol 5 lan print asil. Kita bisa nggunakake metode put kanthi apik. Iki kode lengkap kanggo conto iki:

import java.util.HashMap;

public class HashMapUpdKey {
   public static void main(String[] args) {
       Map<Integer, String> names = new HashMap<>(Map.of(1, "Stan", 2, "Kyle", 3, "Kenny", 4, "Cartman"));
       names.put(5, "Kenny");
       System.out.println(names);
   }
}
Sampeyan mbokmenawa wis ngira apa asile:

{1=Stan, 2=Kyle, 3=Kenny, 4=Cartman, 5=Kenny}
Apa iki sing dikarepake? Saiki Kenny duwe rong kunci ing HashMap kita . Inggih, strictly ngandika, iki loro Kennys beda, apa wae sing kita maksud, amarga obyek kita unik ditemtokake dening tombol. Kaya paspor wong, kudu unik. Dadi, sampeyan ora bisa ngganti jeneng utawa nganyari kunci hashmap yen ditambahake langsung. Operasi iki mung ora kasedhiya. Nanging, sampeyan bisa nggawe maneuver ngapusi: nglebokake entri anyar nganggo tombol anyar lan mbusak sing lawas. Iki bisa ditindakake kanthi nggunakake metode HashMap mbusak . mbusak () ora mung mbusak asosiasi nanging uga ngasilake nilai sing wis dibusak (yen ana sadurunge). Ayo ditambahake conto karo operasi iki:

//easy replacement example
import java.util.HashMap;

public class HashMapUpdKey {
   public static void main(String[] args) {
      Map<Integer, String> names = new HashMap<>(Map.of(1, "Stan", 2, "Kyle", 3, "Kenny", 4, "Cartman"));
           
       names.put(5, "Kenny"); //Adding “new” Kenny 
       System.out.println(names.remove(3)); //Update value of the key: Removing “old” Kenny and print out deleted value

       System.out.println(names);
   }
}
Saiki kita entuk apa sing dibutuhake, nganyari kunci sing bisa ditemokake Kenny. Punika output:
Kenny {1=Stan, 2=Kyle, 4=Cartman, 5=Kenny}
Mesthi, kita bisa nindakake operasi mbusak Kenny "lawas" lan nambah sing anyar ing urutan apa wae. Padha ateges sawijining. Utawa nyepetake kode sampeyan mung nggunakake siji baris:

names.put(5, names.remove(3));
Asil bakal padha mesthi. Dadi, siji-sijine cara sing tepat kanggo ngganti kunci ing Java HashMap yaiku mbusak entri kasebut lan nglebokake nilai sing padha karo kunci anyar. Sampeyan bisa nindakake kanthi cara sing beda nanging meh padha karo crita babagan nambah lan mbusak unsur.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION