Java ဘာသာရပ်အကြောင်း ရေးသားထားသော စာအုပ်အတော်များများတွင် Arrayအကြောင်း ရေးသားချက်များကို ဖတ်ကြည့်ပါက ကြေနပ်ဖွယ်ကောင်းလောက်အောင် ရေးသားချက်များရေးသားထားသည်မှာ အလွန်နည်းပါးလှပေသည်။ အဘယ်ကြောင့်ဆိုသော်Java ၏ Array သည် Instance တစ်ခုဖြစ်သောကြောင့်၎င်း၊ Java ၌ Multiple Dimensions Array ကို ရေးသား၍ မဖြစ်သောကြောင့်၎င်း အစရှိသော အကြောင်းများကြောင့် ဖြစ်သည်ဟု ထင်ပါသည်။ Java ၌ Multiple Dimensions Array ကို ရေးသား၍ မရကြောင်း ပြောလျှင် အံ့သြသောသူများပင် ရှိနေပေသည်။
Java ၏ Arrayများကိုနားလည်စေရန် သတိထားစရာ အချက်မှာ Java ၏ Array သည် Reference Type ဖြစ်သည် ဆိုသည့် အချက် ပင်ဖြစ်သည်။ သည်လိုပြော၍လည်း နားလည်ရခက်သေးသည် ဆိုလျှင် Array သည် Class အမျိုးအစားတစ်ခုဖြစ်သည် ဟုဆိုပါက ပို၍နားလည် လွယ်မည်ဟုထင်ပါသည်။ ပို၍သိသာသော အချက်မှာ အောက်ပါနမှုနာ စာကြောင်းကို ကြည့်မည်ဆိုပါက Array သည် Instance အဖြစ်လုပ်ယူနေကြောင်း သိရှိနိုင်မည်ဖြစ်သည်။
အထက်ပါ စာကြောင်းကိုကြည့်မည် ဆိုပါက new ကိုအသုံးပြုပြီး int ၅ခုစာ Array ကိုလုပ်ယူနေကြောင်းကို သိရှိနိုင်ပေသည်။ ဤစာကြောင်းကို ကြည့်ခြင်းအားဖြင့် Array သည် Reference Type ဖြစ်ကြောင်း သိရှိနိုင်ပေသည်။ တဖန် Java Array အကြောင်းကို ရှုပ်ထွေးစွာ အမှတ်မှားစေလိုသော အကြောင်းအရာများ ရှိပေသေးသည်။ အောက်ပါစာကြောင်းကို ကြည့်ရှုပါ။
Java ကိုစတင်လေ့လာသူများကို စိတ်ရှုပ်စေသော အကြောင်းအရာတစ်ခုဖြစ်သည်။ Primitive Type တစ်ခုဟု အထင်မှားစေသော အကြောင်း တစ်ခုဖြစ်ပေသည်။ Instance ချပုံအတိုင်း ရေးသားမည်ဆိုပါက အောက်ပါအတိုင်းဖြစ်ပေသည်။
intArray Instance ကို စတင်လုပ်ယူနေသောအခါ int [] constructor အား [1,2,3,4,5] အချက်အလက် များကိုပေးနေသည်ဟု မှတ်ယူနိုင်ပေသည်။ Array သည် Class တစ်ခုရဲ့ Instance ဖြစ်မှန်း သိအောင် လက်တွေ့ Code များကို ရေးကြည့်ကြရအောင်။
အထက်ပါ ArrayTest Class၏ int [] b = a.clone()စာကြောင်းကို သတိထားကြည့်ကြည့်ပါ။ int [] b instance ကို instance a အား cloneပွားယူခြင်းဖြင့် လုပ်ယူနေသည်ကို တွေ့ရပေမည်။ clone() လုပ်ဆောင်ချက်သည် java.lang.Object Classကပိုင်ဆိုင်သော လုပ်ဆောင်ချက်ဖြစ်ပြီး java.lang.Object၏ sub class များ အားလုံးသည်လည်း အသုံးပြုနိုင်ပေသည်။ Java ၏ Classများအားလုံးသည် java.lang.Object ရဲ့ sub class များဖြစ်ကြသောကြောင့် Array Class ဖြစ်သော int [] ၏ instance သည်လည်း clone() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ခြင်းဖြစ်သည်။
တဖန် စိတ်မကောင်းစရာအချက်တစ်ခုဖြစ်သော Java Array တွင် Multi Dimensions Array များကို အသုံးပြု၍မရကြောင်း ကိုလေ့လာကြည့်ပါဦးမည်။ C ကဲ့သို့သော အခြားသော ဘာသာရပ်များကိုလေ့လာခဲ့ဘူးသူများသည် Javaတွင်လည်း Multiple Dimensions Array များကို အသုံးပြုနိုင်လိမ့်မည်ဟု ထင်မှတ်မှားတတ်ကြပေသည်။ အကြောင်းမှာ အောက်ပါအတိုင်း ထင်ယောင်ထင်မှား ဖြစ်စေသော ရေးသားချက်များ ကြောင့်ဖြစ်သည်။
အထက်ပါ ရေးသားပုံကိုကြည့်မည်ဆိုလျှင် int[][]အား 2D Arrayဟု ထင်မှတ်မှားကြပေလိမ့်မည်။ အမှန်မှာ int[] instance ကို ပိုင်ဆိုင်သော Array တစ်ခုပင်ဖြစ်ပေသည်။ အခြားသော Array များကဲ့သို့ပင် Class အမျိုးအစားတစ်ခုပင်ဖြစ်၏။
ဤအချက်ကိုလေ့လာကြည့်ကြရအောင်။ အောက်ပါရေးသားချက်ကိုကြည့်ပါ။
အကဲ၍ int[][] သည် 2D Array ဆိုပါက အထက်ပါရေးသားချက်တွင် Compile Errorဖြစ်ပေါ်မည် ဖြစ်သည်။ Java တွင် အထက်ပါရေးသားချက်သည် Errorမဖြစ်ပါ။ အဘယ်ကြောင့်ဆိုသော် အထက်ပါရေးသားချက်သည် int [] instance နှစ်ခုပါဝင်သော Array တစ်ခုသာဖြစ်သောကြောင့် ဖြစ်ပါသည်။
Java ၏ Array သည် Classတစ်မျိုးဖြစ်၏
Java ၏ Arrayများကိုနားလည်စေရန် သတိထားစရာ အချက်မှာ Java ၏ Array သည် Reference Type ဖြစ်သည် ဆိုသည့် အချက် ပင်ဖြစ်သည်။ သည်လိုပြော၍လည်း နားလည်ရခက်သေးသည် ဆိုလျှင် Array သည် Class အမျိုးအစားတစ်ခုဖြစ်သည် ဟုဆိုပါက ပို၍နားလည် လွယ်မည်ဟုထင်ပါသည်။ ပို၍သိသာသော အချက်မှာ အောက်ပါနမှုနာ စာကြောင်းကို ကြည့်မည်ဆိုပါက Array သည် Instance အဖြစ်လုပ်ယူနေကြောင်း သိရှိနိုင်မည်ဖြစ်သည်။
int [] intArray = new int [5];
အထက်ပါ စာကြောင်းကိုကြည့်မည် ဆိုပါက new ကိုအသုံးပြုပြီး int ၅ခုစာ Array ကိုလုပ်ယူနေကြောင်းကို သိရှိနိုင်ပေသည်။ ဤစာကြောင်းကို ကြည့်ခြင်းအားဖြင့် Array သည် Reference Type ဖြစ်ကြောင်း သိရှိနိုင်ပေသည်။ တဖန် Java Array အကြောင်းကို ရှုပ်ထွေးစွာ အမှတ်မှားစေလိုသော အကြောင်းအရာများ ရှိပေသေးသည်။ အောက်ပါစာကြောင်းကို ကြည့်ရှုပါ။
int [] intArray = {1,2,3,4,5};
Java ကိုစတင်လေ့လာသူများကို စိတ်ရှုပ်စေသော အကြောင်းအရာတစ်ခုဖြစ်သည်။ Primitive Type တစ်ခုဟု အထင်မှားစေသော အကြောင်း တစ်ခုဖြစ်ပေသည်။ Instance ချပုံအတိုင်း ရေးသားမည်ဆိုပါက အောက်ပါအတိုင်းဖြစ်ပေသည်။
int [] intArray = new int [] {1,2,3,4,5};
intArray Instance ကို စတင်လုပ်ယူနေသောအခါ int [] constructor အား [1,2,3,4,5] အချက်အလက် များကိုပေးနေသည်ဟု မှတ်ယူနိုင်ပေသည်။ Array သည် Class တစ်ခုရဲ့ Instance ဖြစ်မှန်း သိအောင် လက်တွေ့ Code များကို ရေးကြည့်ကြရအောင်။
public class ArrayTest { public static void main(String [] args) { int [] a = new int [] {1,2,3,4,}; int [] b = a.clone(); for(int i : b) System.out.print(i + ","); System.out.println(); if (a == b) System.out.println("Same Instance"); else System.out.println("Different Instance"); } }
အထက်ပါ ArrayTest Class၏ int [] b = a.clone()စာကြောင်းကို သတိထားကြည့်ကြည့်ပါ။ int [] b instance ကို instance a အား cloneပွားယူခြင်းဖြင့် လုပ်ယူနေသည်ကို တွေ့ရပေမည်။ clone() လုပ်ဆောင်ချက်သည် java.lang.Object Classကပိုင်ဆိုင်သော လုပ်ဆောင်ချက်ဖြစ်ပြီး java.lang.Object၏ sub class များ အားလုံးသည်လည်း အသုံးပြုနိုင်ပေသည်။ Java ၏ Classများအားလုံးသည် java.lang.Object ရဲ့ sub class များဖြစ်ကြသောကြောင့် Array Class ဖြစ်သော int [] ၏ instance သည်လည်း clone() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ခြင်းဖြစ်သည်။
အမြန်မှတ်ချက်
Java ဘာသာရပ်၌ Arrayသည် Classအမျိုးအစားတစ်မျိုးဖြစ်၏။ ထို့ကြောင့် Array ၏ instance များသည် java.lang.Object ၏ member fields များ၊ method များကို အသုံးပြုနိုင် ပေသည်။
Java ဘာသာရပ်၌ Arrayသည် Classအမျိုးအစားတစ်မျိုးဖြစ်၏။ ထို့ကြောင့် Array ၏ instance များသည် java.lang.Object ၏ member fields များ၊ method များကို အသုံးပြုနိုင် ပေသည်။
Java ၌ Multiple Dimensions Arrayကိုရေးသား၍မရ
တဖန် စိတ်မကောင်းစရာအချက်တစ်ခုဖြစ်သော Java Array တွင် Multi Dimensions Array များကို အသုံးပြု၍မရကြောင်း ကိုလေ့လာကြည့်ပါဦးမည်။ C ကဲ့သို့သော အခြားသော ဘာသာရပ်များကိုလေ့လာခဲ့ဘူးသူများသည် Javaတွင်လည်း Multiple Dimensions Array များကို အသုံးပြုနိုင်လိမ့်မည်ဟု ထင်မှတ်မှားတတ်ကြပေသည်။ အကြောင်းမှာ အောက်ပါအတိုင်း ထင်ယောင်ထင်မှား ဖြစ်စေသော ရေးသားချက်များ ကြောင့်ဖြစ်သည်။
int [][] array = new int [] {{1,2,3},{4,5,6}};
အထက်ပါ ရေးသားပုံကိုကြည့်မည်ဆိုလျှင် int[][]အား 2D Arrayဟု ထင်မှတ်မှားကြပေလိမ့်မည်။ အမှန်မှာ int[] instance ကို ပိုင်ဆိုင်သော Array တစ်ခုပင်ဖြစ်ပေသည်။ အခြားသော Array များကဲ့သို့ပင် Class အမျိုးအစားတစ်ခုပင်ဖြစ်၏။
ဤအချက်ကိုလေ့လာကြည့်ကြရအောင်။ အောက်ပါရေးသားချက်ကိုကြည့်ပါ။
int [][] array = new int [] {{1,2,3},{4,5}};
အကဲ၍ int[][] သည် 2D Array ဆိုပါက အထက်ပါရေးသားချက်တွင် Compile Errorဖြစ်ပေါ်မည် ဖြစ်သည်။ Java တွင် အထက်ပါရေးသားချက်သည် Errorမဖြစ်ပါ။ အဘယ်ကြောင့်ဆိုသော် အထက်ပါရေးသားချက်သည် int [] instance နှစ်ခုပါဝင်သော Array တစ်ခုသာဖြစ်သောကြောင့် ဖြစ်ပါသည်။
အမြန်မှတ်ချက်
Java တွင် Multiple Dimensions Array ဟူသော Data Type သည် အသုံးပြု၍ မရနိုင်ပေ။ Java Array ၏ သုံးလို့ရသောအချက်များ သုံးမရသော အရာချက်များကို သိရှိထားမည်ဆိုပါက Array များကိုအသုံးပြုရာတွင် အခက်အခဲရှိတော့မည်မဟုတ်ပေ။
Java တွင် Multiple Dimensions Array ဟူသော Data Type သည် အသုံးပြု၍ မရနိုင်ပေ။ Java Array ၏ သုံးလို့ရသောအချက်များ သုံးမရသော အရာချက်များကို သိရှိထားမည်ဆိုပါက Array များကိုအသုံးပြုရာတွင် အခက်အခဲရှိတော့မည်မဟုတ်ပေ။
No comments:
Post a Comment