מערך Java. מערכים ב- Java. ג 'אווה למתחילים
המערך (מהנדס מערך) הוא כלי רב עוצמה המאפשר לך לעבוד עם הרבה נתונים. ברור, אם אתה צריך לאחסן, למשל, 100 ערכים בתהליך של קוד שלך, אז זה לפחות בלתי סביר לעשות את אותו מספר משתנים למטרה זו. המערך מאפשר לך לאחסן מספר רב של ערכים תחת אותו שם ולגשת אליהם באינדקס המתאים. הרעיון של מערכים הוא אבן הפינה של הקורס ג 'אווה למתחילים. אחרי הכל, הם הבסיס למבני נתונים רבים.
מאז ג 'אווה היא, קודם כל, OOP, על ידילעומת מערכים בשפות תכנות אחרות, מערך Java יש תכונה אחת ייחודית - הם מיוצגים כאובייקטים. בין היתרונות האחרים, זה מבטל את הצורך לפקח על ניקוי הזיכרון, שכן הוא שוחרר באופן אוטומטי.
יצירת מניפולציה של מערכים חד-ממדיים
מערך חד מימדי מיוצג על ידיהמערך Java קלאסי הוא אוסף של אלמנטים קשורים אשר חולקים שם משותף, שכל אחד מהם מתאים למדד מסוים. הדרך להכריז על מערך מוצגת באיור שלהלן.
ראשית, סוג מערך Java הוא הצהיר, אשרקובע את סוג הערכים המאוחסנים בו. זה יכול להיות כל סוג נתונים חוקי ב- Java. להלן שם המערך ואת סוגריים מרובעים לספר מהדר כי משתנה זה הוא מערך. שימו לב לעובדה חשובה. ניתן להגדיר את סוגריים מרובעים גם לאחר סוג הבסיס של המערך, ולאחר שם המערך. לאחר הסימן השווה, יוצג המפעיל החדש, אשר יוזם הקצאת זיכרון למערך (כמו גם במקרה של אובייקטים), סוג של אלמנטים שישמרו בו (חייב להיות תואם עם סוג הבסיס שהוצהר קודם לכן), ולבסוף, מספר שלהם , מסומן בסוגריים מרובעים.
מספור האלמנטים במערך Java מתחיל ב- 0. לכן, האינדקס של האלמנט הראשון במערך זה יהיה 0, והאלמנט השישי יהיה 5. כדי להתייחס אלמנט מסוים של המערך, לדוגמה, אל החמישי, זה מספיק כדי לציין את שם המערך ואת האינדקס של הרכיב בסוגריים מרובעים ליד השם. לכן, אתה יכול להקצות ערך אלמנט או לאחזר אותו. עם זאת, עליך להיות זהירים, כי אם אתה עובר אינדקס שבו אין אלמנט, תתרחש שגיאה.
מערכים רב ממדית ב- Java
מערכים רב ממדיים הם סדרהחד מימדי, בהתייחסו אלמנטים של מערכים אחרים. במילים אחרות, אלה הם מערכים של מערכים. הפשוטה ביניהם היא דו מימדי. על הדוגמה שלהם, ננסה להבין את המושג. לשם הבהירות, הדמות שבהמשך מציגה את התחביר והסכימה המתארים את המבנה של מערך דו מימדי.
כפי שניתן לראות, התחביר אינו שונה בהרבהמערכים חד-ממדיים. בואו נסתכל על המבנה. בסוגריים הראשונים הקצהנו מקום ל -5 אלמנטים. אלמנטים אלה הם לא יותר מאשר התייחסות מערכים בודדים. גודלו של כל אחד מהם נקבע על פי המספר השני בסוגריים. למעשה, מטריצות הן אנלוגיות מתמטיות של מערכים דו-ממדיים. שים לב שבנוסף לאלמנטים, מקום נפרד מוקצה בזיכרון, שם מאוחסן ערך האורך של המערך. ככלל, עבודה עם מערכים רב ממדיים מתבצעת באמצעות מקוננות לולאות.
מערכים בלתי סדירים
מערך דו מימדי הוא מערך של מערכים. כבר נודע לנו. אבל האם מערכים הכלולים בו יש אורכים שונים? התשובה היא כן, הם יכולים. לשם כך, Java מספקת את היכולת להכריז על מערך דו מימדי בדרך מיוחדת. לדוגמה, אנחנו רוצים ליצור מערך דו מימדי כי היה לאחסן שלושה מערכים חד מימדיים של אורך 2, 3, ו 4, בהתאמה. הוכרז כדלקמן:
intarr [] [] = newint [3] [];
שים לב שלא צייןנו את המספר בסוגריים השני. ההגדרה של גודל מערכים במעבר נעשית כך:
arr [0] = int חדש [2];
arr [1] = int חדש [3];
arr [2] = newint [4];
פונה אל הרכיב מתחת לתמליל 0, המצייןעל המערך הראשון, אנו מכריזים על כך עם מימד 2. אלמנט עם אינדקס 1 ישמור מערך של מימד 3 וכן הלאה. זה די פשוט.
התחביר האלטרנטיבי להצהרת מערך java
ניתן גם לאתחל מערכים ישירות בעת יצירתם. זה די פשוט.
שימו לב להצהרה של jerseyNumber ו arameys playerName.
במקרה של מערכים דו-ממדיים, הצהרה זו נראית כך:
int [] [] arr =
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}
בשביל זה, במקום החדש מפעיל,פלטה, שבו רשימה של כל האלמנטים הוא עבר דרך פסיק. ג 'אווה במקרה זה מקצה באופן אוטומטי את הזיכרון עבור אותם אינדקסים אותם בהתאם.
מערכי עזר
כדי לעבוד עם ישויות כגון מערכים בג 'אווה, ב java.util החבילה יש מערכים מיוחדים בכיתה, אשר מספק הרבה שיטות סטטיות כי מאוד להקל על פעולות איתם. רשימה של שיטות בסיסיות מוצג באיור להלן.
הבה נבחן כמה משיטות המערך היעילות ביותר של Java:
- copyOf (מערך, אורך) - מחזירה עותקמערך מועבר של אורך מתאים. אם האורך המועבר גדול מהמערך המקורי, כל האלמנטים "היותר" מתמלאים בערך ברירת המחדל (0, אם הסוג הפשוט הוא, ו- null אם ההפניה הראשונה).
- מערך, אינדקס ראשון, אחרוןמדד) - לא צוין באיור, אבל שיטה שימושית. הוא מעתיק את החלק של המערך המשודר, שנקבע על ידי המדדים המתאימים, מהראשון ועד האחרון.
- מיון (מערך) - ממיין את האלמנטים של המערך בסדר עולה.
- מילוי (מערך, ערך) - ממלא את המערך המשודר עם הערך המתאים.
- binarySearch (מערך, ערך) - מחזירההמדד שבו האלמנט עם הערך המקביל הוא במערך ממוין המועבר. אם אין רכיב כזה, אז מוחזר מספר שלילי.
בגלל השיטות הן סטטי, אתה לא צריך ליצור מעמד בכיתה להתקשר אליהם. הם נקראים ישירות ממנו: Arrays.sort (arr).
מסקנה
בחנו את ההיבטים החשובים ביותרלגבי מערכים, ולאלו שרק מתחילים ללמוד ג 'אווה למתחילים, זה מספיק כדי הבנה בסיסית של ישות כזו כמו מערך, ואת הטכניקות הבסיסיות לעבודה עם זה. כמובן, בפועל ייתן יותר הבנה של העבודה של כלי זה. לכן, לא להיות עצלן מדי לעשות כמה תרגילים, מניפולציה מערכים בדרכים שונות.
המעמד Java מערך משמש כבר בתנאים "לחימה", ולכן, קודם כל מומלץ ללמוד לבצע את כל פעולות בסיסיות עם מערכים באופן ידני.