כיצד להשתמש ב- Java ArrayList

כיצד להשתמש ב- Java ArrayList

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





צפה בסרטים בחינם ללא הורדות או הרשמות

ישנם מספר סוגים אחרים של 'מערכים' (שיעורים המיישמים את רשימה ממשק, שיהיה טכני) המיועדים למטרות מיוחדות. אלו כוללים:





  • רשימה מקושרת תומך בהכנסה והסרה מהירים במדדי ביניים.
  • וֶקטוֹר דומה ל- רשימת מערך אך מסונכרן ומתאים במקום רשימת מערך ליישומים מרובי שרשורים.
  • לַעֲרוֹם תומך בפעולות לחיקוי רשימת אחרון-ראשון-החוצה. זה מרחיב את ה וֶקטוֹר ומכאן שהוא מסונכרן.

שיעורים מיוחדים אלה נמצאים מחוץ להיקף מאמר זה. עם זאת, תלמד כיצד להגדיר ולהשתמש ב- Java ArrayList למטרות כלליות.





יצירת ArrayList

יוצרים רשימת מערך זה פשוט. ריק רשימת מערך ניתן ליצור באמצעות הבונה ללא ארגומנטים. כאן אנו יוצרים רשימת מערכים ריקה להחזקת מחרוזות.

ArrayList alist = new ArrayList();

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



ArrayList alist = new ArrayList(20);

אוכלוסיית ArrayList

הוספת פריטים בסוף

אוכלוסיית רשימת מערכים היא די קלה. פשוט השתמש ב לְהוֹסִיף() שיטה להוספת פריט אחד לסוף רשימת המערכים. הנה דוגמה:

ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]

כדי למצוא כמה פריטים יש ברשימת המערכים, השתמש בשיטה גודל() .





System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4

הוספת פריטים באינדקס מוגדר

רוצה להוסיף פריט באינדקס שרירותי? ציין את האינדקס כארגומנט הראשון והפריט יתווסף באינדקס זה:

alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]

הוספת חבורה של פריטים

אתה יכול להוסיף פריטים מכל אוסף גם בהיררכיה של אוספי Java. א רשימת מערך הוא סוג ספציפי שנקרא רשימה . להלן דרך לבנות א רשימה מחבורה של פריטים (באמצעות Arrays.asList () ) והוסף אותו ל- רשימת מערך .





List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]

כמובן שניתן לציין כאן אינדקס כארגומנט הראשון להוספת הפריטים המתחילים באינדקס זה.

גישה לפריטים

לאחר שנוספו הפריטים לרשימת המערכים, כיצד נוכל לגשת אליהם שוב?

גישה באמצעות אינדקס

אם אתה מכיר את אינדקס הפריט, תוכל להשתמש ב לקבל() שיטה לאחזור האלמנט באינדקס זה.

כיצד להגדיר שוליים ב- Google Docs
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

מציאת פריטים

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

System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4

מה אם הפריט אינו קיים ברשימת המערכים? ה אינדקס של() שיטה מחזירה -1 כאשר הפריט לא נמצא.

index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found

חזרה על רשימת מערכים

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

להלן הדרך הפשוטה ביותר לחזור על רשימת מערכים ולחלץ את הפריטים לעיבוד כלשהו.

for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'

קוד זה משתמש ב- Java Enhanced For-Loop שהוצג ב- Java 1.5. לפני כן, תוכל לחזור על הפריטים באמצעות איטרציה. איטרציה משמשת גם כשצריך לְהַסִיר אלמנטים במהלך תהליך האיטרציה כפי שהדוגמה להלן ממחישה. (שים לב שאנו יוצרים עותק של רשימת המערכים ועובדים על ההעתק).

ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'

החלפת פריטים

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

alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

הסרת פריטים

הבה נראה כעת כיצד אנו יכולים להסיר פריטים מרשימת מערכים. אם אתה יודע את אינדקס הפריט (אולי השתמשת אינדקס של() כפי שתואר לעיל), תוכל להשתמש ב לְהַסִיר() שיטה עם האינדקס. הוא מחזיר את האלמנט שהוסר.

String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe

תוכל גם לציין את הרכיב להסרת ה- ראשון הופעת האלמנט ברשימה. השיטה חוזרת נָכוֹן אם האלמנט נמצא והוסר.

כיצד לשנות את החשבון הראשי בגוגל
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

איך אתה משתמש ב- רשימת מערך בפרויקטים שלך ובאילו נושאים מיוחדים התמודדת? אנא יידע אותנו בתגובות למטה.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל כיצד לגשת לרמת הבועה המובנית של Google באנדרואיד

אם אי פעם היית צריך לוודא שמשהו ברמה בתוך קמצוץ, עכשיו תוכל לקבל רמת בועה בטלפון שלך תוך שניות.

קרא הבא
נושאים קשורים
  • תִכנוּת
  • ג'אווה
על הסופר ג'יי סרידהאר(פורסמו 17 מאמרים) עוד מג'יי סרידהאר

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה