ההבדל בין Arraylist ו וקטור

Anonim

מערך רשימה לעומת וקטור

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

-> ->

מהו Arraylist?

arraylist יכול להיראות מערך דינמי, אשר יכול לגדול בגודל. לכן arraylists הם אידיאליים לשימוש במצב שבו אתה לא יודע את גודל האלמנטים הנדרשים בזמן ההצהרה. ב Java, arraylists יכול להחזיק רק אובייקטים, הם לא יכולים להחזיק סוגי פרימיטיביים ישירות (אתה יכול לשים את סוגי פרימיטיבי בתוך אובייקט או להשתמש בכיתה מעטפת של סוגים פרימיטיביים). בדרך כלל, מערך רשימות מספק שיטות לביצוע החדרה, מחיקה וחיפוש. זמן המורכבות של גישה אלמנט הוא o (1), בעוד הכניסה ומחיקה יש המורכבות זמן של o (n). ב Java, arraylists ניתן לחצות באמצעות לולאות foreach, איטרטורים או פשוט באמצעות המדדים. ב Java, arraylists הוצגו מתוך גירסה 1. 2 וזה חלק של Java Collections Framework.

-> ->

מהו וקטור?

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

-> ->

מה ההבדל בין Arraylist וקטור?

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