כתבה זו תדון בגישות לחזרת '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.