כיצד לשחזר HashMap ב-Java

Kyzd Lshzr Hashmap B Java



בזמן שמירה על הרשומות ב-Java, יכולים להיות מקרים שבהם המפתח צריך לגשת ל' מפת גיבוב 'לנצל או לזרוק אותו. לדוגמה, ניצול מחדש של קבוצה מסוימת של ערכים או העברת קבוצת נתונים מיושנת לזבל. במקרים כאלה, איטרציה של HashMap ב-Java מסייעת בגישה לנתונים וניהול הזיכרון בצורה יעילה.

כתבה זו תדון בגישות לחזרת 'HashMap' ב-Java.

מהו HashMap ב-Java?

א ' מפת גיבוב ' מאחסן פריטים בצורה של ' ערך מפתח ' זוגות וניתן להפעיל אותם על ידי אינדקס מכל סוג אחר (למשל, מחרוזת). זה גם מאפשר אחסון מפתחות null.







כיצד לשחזר HashMap ב-Java?

ניתן לבצע איטרציה של HashMap ב-Java באמצעות הגישות המפורטות להלן:



גישה 1: חזור על HashMap ב-Java באמצעות 'עבור' לולאה

ה ' entrySet() השיטה נותנת תצוגה מוגדרת של כל הערכים/אלמנטים הכלולים במפת hashmap. ה ' להשיג מפתח() ' ו' getValue() ” שיטות מביאות את המפתח והערך מהערך, בהתאמה. ניתן ליישם גישות אלו בשילוב כדי לגשת תחילה למפת ה-hashmap ולחזור על המפתחות והערכים שהצטברו באמצעות ' ל 'לולאה.



תחביר





מפת גיבוב. entrySet ( )

בתחביר לעיל, ' מפת גיבוב ' מתייחס ל' מפת גיבוב 'אובייקט כיתה.

דוגמא

הבה נסקור את הדוגמה הבאה:



יְבוּא java.util.HashMap ;

יְבוּא java.util.Map ;

פּוּמְבֵּי מעמד דוגמא {

פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט args [ ] ) {

מַפָּה < מספר שלם , מחרוזת > מפת hash_מותאמת אישית = חָדָשׁ מפת גיבוב < מספר שלם , מחרוזת > ( ) ;

מפת hash_מותאמת אישית. לָשִׂים ( 1 , 'לְהָצִיק' ) ;

מפת hash_מותאמת אישית. לָשִׂים ( 2 , 'דוד' ) ;

מפת hash_מותאמת אישית. לָשִׂים ( 3 , 'שרה' ) ;

ל ( מַפָּה . כְּנִיסָה < מספר שלם , מחרוזת > מַעֲרֶכֶת : מפת hash_מותאמת אישית. entrySet ( ) ) {

מערכת . הַחוּצָה . println ( מַעֲרֶכֶת. להשיג מפתח ( ) + ':' + מַעֲרֶכֶת. getValue ( ) ) ;

} }

}

בקוד הנתון לעיל:

  • ראשית, צור ' מפת גיבוב 'שם' מפת hash_מותאמת אישית ' כך שהמפתח מצוין בתור ' מספר שלם ' וערך כ' חוּט ' מיוצג בקוד כ' מפה '.
  • לאחר מכן, שייך את ' לָשִׂים() ' בשיטה עם ה-hashmap כדי להוסיף את הערכים המוצהרים בצורה של ' ערך מפתח ' זוגות.
  • כעת, החל את ' ל ' לולאה בשילוב עם ' entrySet() ' שיטה לחזור על ה-hashmap.
  • שים לב שצוין ' מפה.כניסה ממשק 'מאפשר למשתמש לעבוד עם ערך מפה.
  • לבסוף, החל את ' להשיג מפתח() ' ו' getValue() ” שיטות לגשת למפתחות ולערכים שהוקצו ולהציגם.

תְפוּקָה

בפלט זה, ניתן לנתח שצמדי המפתח-ערך המוגדרים עוברים שוב ושוב ומוצגים.

גישה 2: חזור על HashMap ב-Java באמצעות שיטת 'forEach()'.

ה ' לכל אחד() 'שיטה משמשת ליישום פעולה מסוימת עבור כל אלמנט. ניתן ליישם שיטה זו כדי פשוט לחזור על כל זוג מפתח-ערך ב' מפת גיבוב ' ולהציג אותו.

תחביר

לכל אחד ( עם סוּפֶּר ו > איקס )

בתחביר לעיל, שיטה זו לוקחת פרמטר ' איקס ” שמתאים לפעולה שצריך לבצע עבור כל אלמנט.

דוגמא

בוא נעקוב אחר הקוד שצוין להלן:

יְבוּא java.util.HashMap ;

יְבוּא java.util.Map ;

פּוּמְבֵּי מעמד דוגמא {

פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט args [ ] ) {

מַפָּה < מספר שלם , מחרוזת > custom_hashmap = חָדָשׁ מפת גיבוב < מספר שלם , מחרוזת > ( ) ;

custom_hashmap. לָשִׂים ( 1 , 'לְהָצִיק' ) ;

custom_hashmap. לָשִׂים ( 2 , 'דוד' ) ;

מפת hash_מותאמת אישית. לָשִׂים ( 3 , 'שרה' ) ;

מפת hash_מותאמת אישית. לכל אחד ( ( ערך מפתח ) -> מערכת . הַחוּצָה . println ( מַפְתֵחַ + ':' + ערך ) ) ;

} }

באיור לעיל:

  • זכור את הגישות הנדונות ליצירת ' מפת גיבוב ' ולהקצות את הערכים בצורה של ' ערך מפתח ' זוגות.
  • כעת, שייך את ' לכל אחד() ' השיטה עם HashMap שנוצרה והצג כל אחד מהאיטרציות ' ערך מפתח ' זוגות בקונסולה.

תְפוּקָה

כפי שניתן לראות שהמפתחות והערכים התואמים שלהם ב-' מפת גיבוב ' הוחזרו.

גישה 3: חזור על HashMap ב-Java באמצעות אובייקט 'איטרטור'.

ה ' איטרטור אובייקט ' משמש ללולאה דרך האלמנטים אחד אחד, וה' iterator() ניתן להשתמש בשיטה כדי להביא איטרטור. ה ' hasNext() 'שיטה נותנת' נָכוֹן ' אם יש רכיב הבא ב-hashmap, וה-' הַבָּא() ' השיטה נותנת את אלמנט ה-hashmap הבא. ניתן ליישם גישות אלו בשילוב כדי לחזור על HashMap, לבדוק אם יש צמד מפתח-ערך הבא, ולאחזר אותו.

תחביר

איטרטור איטר = איקס. איטרטור ( ) ;

בתחביר הזה:

  • ' איקס ” הוא חפץ אוסף.
  • ' איטר ' הוא מסוג ממשק איטרטור ומתאים ל' איקס '.

דוגמא

הבה נסקור את הדוגמה הבאה:

יְבוּא java.util.איטרטור ;

יְבוּא Java.util.Map.Entry ;

יְבוּא java.util.HashMap ;

יְבוּא java.util.Map ;

פּוּמְבֵּי מעמד דוגמא {

פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט args [ ] ) {

מַפָּה < מספר שלם , מחרוזת > מפת hash_מותאמת אישית = חָדָשׁ מפת גיבוב < מספר שלם , מחרוזת > ( ) ;

מפת hash_מותאמת אישית. לָשִׂים ( 1 , 'לְהָצִיק' ) ;

מפת hash_מותאמת אישית. לָשִׂים ( 2 , 'דוד' ) ;

מפת hash_מותאמת אישית. לָשִׂים ( 3 , 'שרה' ) ;

איטרטור < כְּנִיסָה < מספר שלם , מחרוזת >> איטר = מפת hash_מותאמת אישית. entrySet ( ) . איטרטור ( ) ;

בזמן ( איטר. hasNext ( ) ) {

מַפָּה . כְּנִיסָה < מספר שלם , מחרוזת > לְהַקְצוֹת = ( מַפָּה . כְּנִיסָה < מספר שלם , מחרוזת > ) איטר. הַבָּא ( ) ;

מערכת . הַחוּצָה . println ( לְהַקְצוֹת. להשיג מפתח ( ) + ':' + לְהַקְצוֹת. getValue ( ) ) ;

} } }

בהדגמה לעיל, יש ליישם את השלבים הבאים:

  • חזור על המתודולוגיות הנדונות ליצירת ' מפת גיבוב ' והקצאת ' ערך מפתח ' זוגות.
  • כעת, שייך את ' איטרטור ' אובייקט עם ה-HashMap שנוצר ולולאה דרך צמדי המפתח-ערך בעזרת ה-' entrySet() ' ו' iterator() ' שיטות.
  • לבסוף, בדוק את HashMap על ידי בדיקת האלמנט הבא באמצעות ה'מיושם' hasNext() ' שיטה. אם כן, הצג את הרכיב הבא באמצעות ' הַבָּא() ' שיטה.
  • המצורף ' להשיג מפתח() ' ו' getValue() שיטות ' יוודאו שהרכיב המצטבר יובא בצורה של ' ערך מפתח ' זוג.

תְפוּקָה

הפלט לעיל מסמל שהאיטרציה נעשית כראוי.

סיכום

א ' מפת גיבוב ' מאחסן פריטים ב' ערך מפתח ' זוגות. ניתן לחזור על זה בעזרת ' ל 'לולאה, ה' לכל אחד() שיטת ', או ה' איטרטור ' חפץ. האיטרציה לאורך HashMap יכולה להיעשות בפשטות, על ידי גישה לכל זוג מפתח-ערך, או על ידי הפניה לאלמנט הבא, בהתאמה. בלוג זה הרחיב את הגישות לאיטטרציה של HashMap ב-Java.