Java Array ၏ အျဖစ္​မွန္

on Wednesday, June 26, 2013




မူရင္းေရးသားသူ




Java ဘာသာ​ရပ္​အေၾကာင္း ေရးသား​ထား​ေသာ စာအုပ္​အေတာ္​မ်ား⁠မ်ား​တြင္ Arrayအေၾကာင္း ေရးသား​

ခ်က္​မ်ား​ကို ဖတ္​ၾကည့္​ပါ​က ေၾက​နပ္​ဖြယ္​ေကာင္း​ေလာက္​ေအာင္ ေရးသား​ခ်က္​မ်ား​ေရးသား​ထား​သည္မွာ

အလြန္​နည္းပါး​လွ​ေပ​သည္။ အဘယ္​ေၾကာင့္​ဆိုေသာ္Java ၏ Array သည္ Instance တစ္​

ခု​ျဖစ္​ေသာ​ေၾကာင့္​၎၊ Java ၌ Multiple Dimensions Array ကို ေရးသား​၍ မ​ျဖစ္​ေသာ​ေၾကာင့္​၎ အစ​

ရွိ​ေသာ အေၾကာင္း​မ်ား​ေၾကာင့္ ျဖစ္​သည္​ဟု ထင္​ပါ​သည္။ Java ၌ Multiple Dimensions 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 ၌ 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 မ်ား​ကို​အသုံးျပဳ​ရာ​တြင္

 အခက္​အခဲ​ရွိ​ေတာ့​မည္​မဟုတ္​ေပ။












 
 







 
 

0 comments:

Post a Comment