גויאבה - רשימות

1. סקירה כללית

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

נתחיל בפשטות - ונסתכל רק על יצירת חדש רשימת מערךבאמצעות תחביר גויאבה - בלי חָדָשׁ:

שמות רשימות = Lists.newArrayList ("ג'ון", "אדם", "ג'יין");

2. הפוך א רשימה

ראשית, בואו הפוך א רשימה באמצעות Lists.reverse () כמו בדוגמה הבאה:

@ מבחן ציבורי בטל כאשר ReverseList_thenReversed () {List names = Lists.newArrayList ("John", "Adam", "Jane"); רשימה הפוכה = Lists.reverse (שמות); assertThat (הפוך, מכיל ("ג'יין", "אדם", "ג'ון")); }

3. ליצור אופירשימה מ חוּט

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

בדוגמה הבאה - אנו משתמשים ב- Lists.CharactersOf () ממשק API ליצירת אופירשימה מ חוּט"ג'ון":

@Test ציבורי בטל כאשרCreateCharacterListFromString_thenCreated () {List chars = Lists.charactersOf ("John"); assertEquals (4, chars.size ()); assertThat (תווים, מכיל ('J', 'o', 'h', 'n')); }

4. מחיצה א רשימה

הבא - בואו נראה איך מחיצה ארשימה.

בדוגמה הבאה - אנו משתמשים Lists.partition () כדי לקבל רשימות משנה רצופות בגודל שני:

@ מבחן פומבי בטל כאשר PartitionList_thenPartitioned () {List names = Lists.newArrayList ("John", "Jane", "Adam", "Tom", "Viki", "Tyler"); רשימה תוצאה = Lists.partition (שמות, 2); assertEquals (3, result.size ()); assertThat (result.get (0), מכיל ("ג'ון", "ג'יין")); assertThat (result.get (1), מכיל ("אדם", "טום")); assertThat (result.get (2), מכיל ("ויקי", "טיילר")); }

5. הסר את הכפילויות מ- רשימה

עכשיו - בואו נשתמש בטריק פשוט כדי להסיר כפילויות מ- a רשימה.

בדוגמה הבאה - אנו מעתיקים את האלמנטים ל- a מַעֲרֶכֶת ואז אנו יוצרים a רשימה חזרה מהאלמנטים הנותרים:

@ מבחן ציבורי בטל כאשר RemovDuplicatesFromList_thenRemoved () {List chars = Lists.newArrayList ('h', 'e', ​​'l', 'l', 'o'); assertEquals (5, chars.size ()); תוצאת רשימה = ImmutableSet.copyOf (צ'ארס) .asList (); assertThat (התוצאה מכילה ('h', 'e', ​​'l', 'o')); }

6. הסר ערכי אפס מ רשימה

הבא - בואו נראה איך לְהַסִיר ריק ערכים מ- a רשימה.

בדוגמה הבאה - אנו מסירים הכל ריק ערכים המשתמשים בתועלת הגבוהה ביותר Iterables.removeIf () ממשק API ופרדיקט המסופק על ידי הספרייה עצמה:

@ מבחן ציבורי בטל כאשר RemovNullFromList_thenRemoved () {List names = Lists.newArrayList ("John", null, "Adam", null, "Jane"); Iterables.removeIf (names, Predicates.isNull ()); assertEquals (3, names.size ()); assertThat (שמות, מכיל ("ג'ון", "אדם", "ג'יין")); }

7. המר א רשימה ל ImmutableList

לסיום - בואו נראה איך ליצור עותק בלתי משתנה של a רשימה - ImmutableList - משתמש ב ImmutableList.copyOf () ממשק API:

@ מבחן ציבורי בטל כאשרCreateImmutableList_thenCreated () {List names = Lists.newArrayList ("John", "Adam", "Jane"); names.add ("טום"); assertEquals (4, names.size ()); ImmutableList immutable = ImmutableList.copyOf (names); טוען כי (ללא שינוי, מכיל ("ג'ון", "אדם", "ג'יין", "טום")); }

8. מסקנה

והנה - הדרכה מהירה העוסקת ברוב הדברים השימושיים שתוכלו לעשות עם רשימות באמצעות גויאבה.

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

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


$config[zx-auto] not found$config[zx-overlay] not found