המרה בין מערך לרשימה בג'אווה

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

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

מאמר זה הוא חלק מסדרת "Java - Back to Basic" כאן בבלדונג.

2. להמיר רשימה למערך

2.1. שימוש ב- Java רגיל

נתחיל בהמרה מ- רשימה למערך באמצעות Java רגיל:

@Test ציבורי בטל givenUsingCoreJava_whenListConvertedToArray_thenCorrect () {List sourceList = Arrays.asList (0, 1, 2, 3, 4, 5); מספר שלם [] targetArray = sourceList.toArray (מספר שלם חדש [0]); }

ציין זאת toArray (T חדש [0]) היא הדרך המועדפת להשתמש בשיטה על פני toArray (T חדש [גודל]). כפי שמוכיח אלכסיי שיפילב בפוסט בבלוג שלו, זה נראה מהיר יותר, בטוח ונקי יותר.

2.2. באמצעות גויאבה

בוא עכשיו נשתמש ממשק ה- API של גויאבה לאותה המרה:

@Test הציבור בטל givenUsingGuava_whenListConvertedToArray_thenCorrect () {List sourceList = Lists.newArrayList (0, 1, 2, 3, 4, 5); int [] targetArray = Ints.toArray (sourceList); }

3. המרת מערך ל רשימה

3.1. שימוש ב- Java רגיל

נתחיל בפתרון Java רגיל להמרת המערך ל- a רשימה:

@Test הציבור בטל givenUsingCoreJava_whenArrayConvertedToList_thenCorrect () {Integer [] sourceArray = {0, 1, 2, 3, 4, 5}; רשימת targetList = Arrays.asList (sourceArray); }

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

רשימת targetList = ArrayList חדש (Arrays.asList (sourceArray));

3.2. באמצעות גויאבה

בוא נשתמש כעת ממשק ה- API של גויאבה לאותה המרה:

@Test public void givenUsingGuava_whenArrayConvertedToList_thenCorrect () {Integer [] sourceArray = {0, 1, 2, 3, 4, 5}; רשימת targetList = Lists.newArrayList (sourceArray); } 

3.3. שימוש באוספי Commons

ולסיום, בואו נשתמש באוספי Apache Commons - CollectionUtils.addAll API למילוי רכיבי המערך ברשימה ריקה:

@Test הציבור בטל givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect () {Integer [] sourceArray = {0, 1, 2, 3, 4, 5}; רשימת targetList = ArrayList חדש (6); CollectionUtils.addAll (targetList, sourceArray); }

4. מסקנה

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


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