רשימה ומערכים הם שתי דרכים לאחסן נתונים ב-Java שבהם תשתמש לעתים קרובות למדי. בפרויקטים שבהם אתה צריך לאחסן נתונים ללא כל סוג של טיפול בקבצים, רשימה ומערכים מאפשרים לך לאחסן נתונים לאורך כל ביצוע התוכנית שלך. אנו נשתמש ב- Class ArrayList המיישמת את ממשק הרשימה ב-Java לסירוגין לאורך המדריך הזה.
ההבדל בין רשימה למערך
רשימה | מַעֲרָך |
---|---|
ניתן לשנות את גודל הרשימה | לא ניתן לשנות את הגודל של מערך |
אתה לא יכול לאחסן טיפוסים פרימיטיביים ברשימה | אתה יכול לאחסן טיפוסים פרימיטיביים במערך |
אתה יכול להשתמש בגנריות עם רשימה | אתה לא יכול להשתמש ב-Generics עם Array |
צורך יותר זיכרון | צורך פחות זיכרון |
המרת רשימה למערך עם פונקציית ספרייה
לרשימה יש שיטה toArray() הממירה ישירות את התוכן של כל רשימה למערך תוך שמירה על מיקום הטקסט במערך כפי שהיה ברשימה המקורית. הנה האלגוריתם/השלבים להמרת רשימה למערך ב-java באמצעות פונקציית הספרייה המובנית הזו.- אתחול ArrayList.
- הוסף אלמנטים לרשימה באמצעות שיטת list.add(data_type) .
- צור מערך באותו גודל כמו הרשימה.
- המר את הרשימה למערך על ידי שימוש בשם המשתנה של המערך שנוצר בשלב 3 כארגומנט.
- הדפס את תוכן המערך.
import java.util.ArrayList;
public class convertListToArray {
public static void main(String[] args) {
//Converting List to Array With Library Function
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting List to Array
sampleList.toArray(arr);
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
המרת רשימה למערך ללא פונקציית ספרייה
לפעמים, ייתכן שתהיה דרישה להמיר את הרשימה למערך מבלי להשתמש בפונקציות מובנות. הבעיה שלפניכם עשויה להשתמש בהגבלות מסוימות מבחינת פונקציות הספרייה. דרישה זו נפוצה עבור תלמידי תכנות שמעודדים אותם לעבוד ללא פונקציות ספרייה כדי לעזור להם ללמוד את פעולתן הפנימית של פונקציות אלו לפני הטמעתם. במקרים כאלה, תוכל להשתמש בשלבים הבאים כדי להמיר רשימה למערך ב-java ללא פונקציית ספרייה כלשהי.- אתחול ArrayList.
- הוסף אלמנטים לרשימה באמצעות שיטת list.add(data_type) .
- צור מערך באותו גודל כמו הרשימה.
- צור לולאת for שתעבור דרך כל אלמנט של ArrayList ותעביר אותו ל- Array[index] דרך הפונקציה list.get(index) .
- הדפס את התוכן של המערך כדי להראות שאתה למעשה ממיר את הרשימה למערך.
import java.util.ArrayList;
public class converListToArray2 {
public static void main(String[] args) {
//Converting List to Array Without Library Functions
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting to Array
for (int i = 0 ; i < arr.length ; i++){
arr[i] = sampleList.get(i);
}
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
באופן דומה, אם גם אתה תוהה כיצד להמיר מערך לרשימה, תוכל לעשות זאת על ידי שימוש בשיטה המובנית Array.asList() או איטרציה דרך המערך ואחסון ערכים בכל אינדקס ברשימה.
GO TO FULL VERSION