java တွင်ခင်းကျင်းမှုအစပြုပုံ



အခင်းအကျင်း ဂျာဗား

java တွင်ခင်းကျင်းမှုအစပြုပုံ

java မှ Arrays များသည် data အမျိုးအစားတစ်ခု၏တန်ဖိုးများစွာကို sequential order ထဲမှာသိုလှောင်တဲ့အသုံးအများဆုံး data structure ဖြစ်သည်။ Array တွင်သတ်မှတ်ထားသောအရှည်ရှိပြီး index သည် 0 မှ n-1 အထိစတင်သည်။ n သည် array တစ်ခု၏အရှည်ဖြစ်သည်။ ကျွန်ုပ်တို့သည် String, integer, character, byte နှင့်အသုံးပြုသူသတ်မှတ်ထားသောအရာဝတ္ထုများကဲ့သို့သောမည်သည့်တန်ဖိုးအမျိုးအစားကိုမဆိုသိုလှောင်ရန် Java တွင် Array class ကိုသုံးနိုင်သည်။ Java တွင် array တစ်ခုကိုမည်သို့စတင်မည်ကိုလေ့လာပါမည်။

အောက်တွင်ဒြပ်စင် ၁၁ ခုရှိသည့်တစ်ခုတည်းသောရှုထောင်ခင်းကျင်းမှု၏ပုံဖော်ကိုယ်စားပြုမှုကိုဖော်ပြထားသည်။

java တွင် Array ကို

မာတိကာ

Java Arrays Features

  • Array သည်သတ်မှတ်ထားတဲ့အရွယ်အစားရှိပြီးပြောင်းလဲလို့မရပါဘူး
  • Array သည် index-based ဖြစ်သဖြင့်ကျပန်း element များကိုရယူရန်လွယ်ကူသည်
  • ခင်းကျင်းသော element များအတွက်စဉ်ဆက်မပြတ်မှတ်ဉာဏ်ချထားသည်။
  • နှစ် ဦး စလုံးသိမ်းဆည်းထားနိုင်ပါတယ် စရိုက်နှင့် Non- စရိုက်ဒေတာ တန်ဖိုးများကို

Java တွင် Array တစ်ခုကိုမည်သို့ကြေငြာရမည်နည်း။

Java Arrays ကြေငြာချက်

Array ကိုအောက်ပါနည်းလမ်းများဖြင့်ကြေငြာနိုင်သည်။ Array ကြေငြာချက်တွင်အပိုင်း ၂ ပိုင်းပါ ၀ င်သည်။ ပထမတစ်ခုမှာကျွန်ုပ်တို့သည် array၊ (int, String, etc) တွင်သိမ်းဆည်းရန်လိုအပ်ပြီးဒြပ်ထု၏အမည်နှင့်နောက်လိုက်သည်။ [] brackets များသည်၎င်းသည် array တစ်ခုဖြစ်ကြောင်းဖော်ပြသည်။ ကျနော်တို့ array ကိုကြေငြာတဲ့အခါ, က variable ကိုတစ် ဦး array နှင့်အမှန်တကယ်တစ်ခုခင်းကျင်းဖန်တီးမထားဘူးကြောင်း compiler ကိုပြောရုံ။

အမျိုးအစား [] arrayName; (သို့မဟုတ်)

အမျိုးအစား [] arrayName; (သို့မဟုတ်)

datatype arrayName []; -> သာမန်အားဖြင့်ကျွန်ုပ်တို့သည်ဤနည်းလမ်းကိုအသုံးပြုရန်မနှစ်သက်ပါ။

ခင်းကျင်းကြေငြာ၏ဥပမာ

int[] arrNumbers;
String[] arrNames;
float[] arrValues;
boolean[] arrBoolean;
char[] arrLetters;
byte[] arrBytes;
double[] arrWeight;

Java တွင် Array တစ်ခုဖန်တီးနည်း။

ဂျာဗားရှိ String Array

ကျနော်တို့ကသုံးပြီးခင်းကျင်းဖန်တီးပါ အသစ် အော်ပရေတာ။ ၎င်းတွင် [] တွင်ခင်းကျင်းထားသော variable ကိုသိမ်းဆည်းရန်လိုအပ်သည့်ပမာဏပမာဏကိုဖော်ပြသည့် array ၏အရွယ်အစားကိုကျွန်ုပ်တို့သတ်မှတ်သည်။

arrname = အသစ်သောအမျိုးအစား [အရွယ်အစား];

ငါတို့သည်လည်းကြေငြာခြင်းနှင့်ဖန်တီးနိုင်ပါတယ် အခင်းအကျင်း အောက်တွင်ဖော်ပြထားသောတစ်ခုတည်းကြေညာချက်၌တည်၏။ ပထမကြေငြာချက်သည်နံပါတ် ၅ အရေအတွက်ရှိသောကိန်းသေနံပါတ်တစ်ခုကိုဖန်တီးသည်

int[] arrNumbers = new int[5];
String[] arrNames = new String[2];

Java တွင် Array တစ်ခုကိုမည်သို့စတင်မည်နည်း။

Array တစ်ခုကိုဘယ်လိုဖန်တီးရမလဲ။

Array ကိုစတင်ခြင်း (သို့) instantiation ဆိုသည်မှာ array အရွယ်အစားအပေါ် အခြေခံ၍ array ထဲသို့တန်ဖိုးများကိုသတ်မှတ်ခြင်းကိုဆိုလိုသည်။ ကျွန်ုပ်တို့သည် array တစ်ခုကိုအတူတကွ ဖန်တီး၍ အစပြုနိုင်သည် (အောက်တွင်ဖော်ပြထားသောနည်းလမ်း ၁ ကိုကြည့်ပါ) ။ ဤကိစ္စတွင် element အရေအတွက်သည် array တစ်ခု၏အရှည်သို့မဟုတ်အရွယ်အစားကိုဆိုလိုသည်။ Method 1 မှာ element တစ်ခုစီကို t2 တန်ဖိုးများကိုသီးခြားသတ်မှတ်ထားပါတယ်။ array index သည် 0 နှင့်စတင်ခဲ့ပြီးဤနေရာတွင်ခင်းကျင်းသောအရွယ်အစားမှာ ၃ ဖြစ်သဖြင့်တတိယမြောက် element သည်ဒုတိယနေရာတွင်ရှိသည်၊ n သည် n နေရာတွင်တည်ရှိပြီး n သည်ခင်းကျင်း၏အရွယ်အစားဖြစ်သည်။

//Method 1
int[] arrNumbers = {1,2,3};

//Method 2
int[] arrNumbers = new int[3];
arrNumbers[0] = 1;
arrNumbers[1] = 2;
arrNumbers[2] = 3;

Java မှ Array element များကိုရယူခြင်း

ကျနော်တို့က၎င်း၏ index ကိုတန်ဖိုးကိုအသုံးပြု။ ခင်းကျင်းဒြပ်စင်ကိုဝင်ရောက်။ ယေဘုယျအားဖြင့်ကျွန်ုပ်တို့အသုံးပြုသည် ဘို့ ကွင်းဆက်သို့မဟုတ် တစ်ခုချင်းစီအတွက် array element များအားလုံးသည်တူညီသောအမျိုးအစားရှိပြီးသတ်မှတ်ထားသောအရွယ်အစားရှိသောကြောင့် array ထဲကို ၀ င်ရောက်ရန်ကြိုးပမ်းသည်။

ဥပမာ - Array element တွေကိုဖန်တီးပြီးအစပြုပါ

ဤနေရာတွင်ကျွန်ုပ်တို့သည်ကြေညာချက်တစ်ခုတည်းတွင် array အများအပြားကိုဖန်တီးခြင်းနှင့် အစပြု၍ element တစ်ခုချင်းစီအား loop အတွက်အသုံးပြုခြင်းကိုအသုံးပြုနေသည်

public class ArrayDemo1 {

  public static void main(String[] args) {
    String[] arrMonths = {"May","June","July"};
    System.out.println("Length of array is: " + arrMonths.length);
    for(int i=0;i<arrMonths.length;i++)
    {
      System.out.println(arrMonths[i]); 
    }

  }

}
Output:
Length of array is: 3
May
June
July

ဥပမာ - array ကိုစတင်ဖွဲ့စည်းခြင်းနှင့် array element များကိုရယူခြင်း၏နောက်ထပ်နည်းလမ်းတစ်ခု

အောက်ကဥပမာမှာပထမ ဦး ဆုံးကိန်းဂဏန်းစုစုပေါင်းကိုကြေငြာပြီးဖန်တီးပြီးတန်ဖိုးတစ်ခုချင်းစီကိုတန်ဖိုးသတ်မှတ်ပါတယ်။ ဒီနေရာမှာ array element တွေကို access လုပ်ဖို့ loop တစ်ခုချင်းစီအတွက်အသုံးပြုတယ်။

public class ArrayDemo2 {

  public static void main(String[] args) {
    int[] numbers = new int[5];
    numbers[0] = 100;
    numbers[1] = 101;
    numbers[2] = 103;
    numbers[3] = 104;
    numbers[4] = 105;
    
    for(int i: numbers)
    {
      System.out.println(i);
    }

  }

}
Output:
100
101
103
104
105

Java ရှိ Array အမျိုးအစားများ

Java တွင် Array အမျိုးအစားနှစ်မျိုးရှိသည်။

  • Single Dimensional ခင်းကျင်း - ဒီဟာက ၁ တန်းနဲ့ကော်လံ ၁ ခုသာပါတယ်။ အထက်ပါဥပမာအားလုံးသည်ရှုထောင့်တစ်ခုတည်းနှင့်သက်ဆိုင်သည်
  • Multidimensional array - ၎င်းတွင်အတန်းများစွာနှင့်ကော်လံများစွာပါဝင်သည်။ တနည်းအားဖြင့်၎င်းသည် array အားလုံးသည် row များအားလုံးတွင်တူညီသောအရေအတွက်ရှိသည်။ ဥပမာ: 2 * 2 matrix ကို
  • Jagged array - အတန်းတစ်ခုစီတွင်မတူညီသောကော်လံအရေအတွက်ပါရှိသည်

java ခုနှစ်တွင် Multidimensional Array ကို

Multidimensional Array မ်ားသည် rows နှင့် columns များစွာရှိနိုင်တယ်။ ပထမ [] တွင်ရှိသောအညွှန်းသည်အတန်းများကိုကိုယ်စားပြုပြီးဒုတိယ [] သည်ကော်လံကိုကိုယ်စားပြုသည်။

ဥပမာ: int [] [] a = new int [2] [3]

ဆိုလိုသည်မှာ array တွင် row 2 ခုနှင့် column ၃ ခုပါ ၀ င်သည်။ အောက်တွင် multidimensional ခင်းကျင်းမှု၏ diagrammatic ကိုယ်စားပြုမှုဖြစ်သည်

java တွင် Array ကို

Multidimensional Array မ်ားဖန်တီးခြင်းဥပမာ

အောက်ဖော်ပြပါဥပမာသည် multidimensional ခင်းကျင်းသော element များကိုမည်သို့ဖန်တီးရမည်၊ ဤနေရာတွင်ကျွန်ုပ်တို့သည် row နှင့် column အညွှန်းကိုအသုံးပြုပြီး array element များကိုတိုက်ရိုက်ရယူနိုင်သည်။

public class ArrayMulti {

  public static void main(String[] args) {
    String[][] arrNames = {{"John","Jacob"},{"Thomas","Martin"}};
    System.out.println(arrNames[0][0] + " " + arrNames[0][1]);
    System.out.println(arrNames[1][0] + " " + arrNames[1][1]);

  }

}
Output:
John Jacob 
Thomas Martin

ကိန်းပြည့် 2D ခင်းကျင်းမှုဥပမာ

ဤနေရာတွင်ကျွန်ုပ်တို့သည် 2-dimensional array ကို 2 တန်းနှင့်ကော်လံ 3 လုံးရှိသောကိန်းတစ်ခုဖန်တီးနေသည်။ loop များကိုအတွင်းထဲရှိ array array ထဲမှတန်ဖိုးများကိုကျွန်ုပ်တို့သတ်မှတ်သည်။ ကွင်းဆက်အတွက်ပထမသည်ကွင်းဆက်ကိုရည်ညွှန်းသည်။ ဒုတိယအတွက်ကွင်းဆက်ကိုဖော်ပြသည်။

public class ArrayMulti {

  public static void main(String[] args) {
    //Declare and create multidimensional array
    int[][] arrnum = new int[2][3];
    for(int i=0;i<2;i++) {
      for(int j=0;j<3;j++) {
        //Assign values to array elements
        arrnum[i][j] = i+1;
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }

  }

}
Output:
1 1 1 
2 2 2 

ဂျာဗားရှိ Jagged Array ကို

Jagged ခင်းကျင်းခြင်းသည် 2-dimensional ခင်းကျင်းခြင်းနှင့်ကွဲပြားသောကော်လံအရေအတွက်ရှိသည်။ တနည်းအားဖြင့်အတန်းတစ်ခုစီတွင်ကွဲပြားသောကော်လံအရေအတွက်ရှိသည်။ Jagged Array တစ်ခုကိုစတင်ခြင်းသည်ပုံမှန် 2D Array နှင့်ကွဲပြားသည်။

Jagged Array ၏ Initialization

ခင်းကျင်းမှုပြုလုပ်စဉ်အတန်းအရေအတွက်ကိုကျွန်ုပ်တို့သတ်မှတ်သည်။ ဤဥပမာတွင်၎င်းသည် ၂ ဖြစ်သည်။ လာမည့်ထုတ်ပြန်ချက် ၂ ခုတွင်အတန်းလိုက်ခင်းခြင်းအတွက်ကော်လံအရေအတွက်ကိုကျွန်ုပ်တို့ဖော်ပြသည်။ ဤတွင်ပထမတန်းတွင်ကော်လံ (၃) ခု၊ ဒုတိယအတန်းတွင် (၄) ကော်လံရှိသည်။

int[][] arrnum = new int[2][];
arrnum[0] = new int[3];
arrnum[1] = new int[4];

ကွင်းဆက်အတွက်တန်ဖိုးသတ်မှတ်ခြင်းဖြင့် jagged array တစ်ခု၏ဥပမာ

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arrnum = new int[2][];
    arrnum[0] = new int[3];
    arrnum[1] = new int[4];

    int val=1;
    //Assign values
    for(int i=0;i<arrnum.length;i++) {
      for(int j=0;j<arrnum[i].length;j++) {
        arrnum[i][j] = val;
      }
    }
    
    //Print the values
    for(int i=0;i<arrnum.length;i++)
    {
      for(int j=0;j<arrnum[i].length;j++)
      {
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }
  }

}
Output:
1 1 1 
1 1 1 1 

array ဖန်တီးနေစဉ်တန်ဖိုးများကိုစတင်ခြင်းအားဖြင့် Jagged ခင်းကျင်းဥပမာ

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arr = {{4,5,6},{1,2},{7,9,8}};
    for(int i=0;i<3;i++)
    {
      for(int j=0;j<arr[i].length;j++) {
        System.out.print(arr[i][j] + " ");
      }
      System.out.println();
    }
  }
}
Output:
4 5 6 
1 2 
7 9 8 

Java Array နည်းလမ်းများ

Java တွင် Array မှတိုက်ရိုက်ထောက်ပံ့သောနည်းလမ်းများအောက်တွင်ဖော်ပြထားသည်

နည်းလမ်းဖေါ်ပြချက်
ပျက်ပြယ်ကိုယ်ပွား ()ကိုးကားချက်များကူးယူခြင်းမပြုလုပ်သောလက်ရှိခင်းကျင်းမှုတန်ဖိုးများကိုပိတ်ထားသည်
Boolean ညီမျှခြင်း (Object 0)အခြားအရာဝတ္ထုတစ်ခုသည်လက်ရှိအရာဝတ္ထုနှင့်တူညီမှုရှိမရှိစစ်ဆေးသည်
အတန်းအစား getClass ()classname ကိုပြန်သွားသည်
string toString ()အရာဝတ္ထုတစ်ခု string ကိုကိုယ်စားပြုမှုကိုပြန်သွားသည်
အရှည် ()အဆိုပါခင်းကျင်း၏အရှည်ပြန်သွားသည်

ဂျာဗား Array ခြွင်းချက်များ

Array များ ဂျာဗားပစ် အောက်ပါခြွင်းချက်:

  • ArrayIndexOutOfBoundsException: ဤအရာသည်ကျွန်ုပ်တို့သတ်မှတ်သည့် index တန်ဖိုးသည် array တစ်ခု၏အရှည်ထက်သို့မဟုတ်အနှုတ်လက္ခဏာဖြစ်သည့်အချိန်တွင်ဖြစ်ပွားသည်။ ဤသည်အဓိကအားဖြင့်တန်ဖိုးသတ်မှတ်ခြင်းသို့မဟုတ်ခင်းကျင်းပြသထားသောအရာများကိုအသုံးပြုနေစဉ်ဖြစ်ပေါ်လေ့ရှိသည်။

တစ်ခုခင်းကျင်းကူးယူပါ

System ၏ method arraycopy ကို အသုံးပြု၍ array တစ်ခုမှတစ်ခုသို့အခြားတစ်ခုကိုကူးယူနိုင်သည်။

ခင်းကျင်းသော syntax ကူးယူပါ

အများပြည်သူပျက်ပြယ် arraycopy (Object src, int srcPos, Object dest, int destPos, int length);

ထံမှကူးယူရန် src-source ကိုခင်းကျင်းအရာဝတ္ထု

srcPos - source array ထဲမှာစတင်နေရာ

dest - ကူးယူလိုတဲ့ destination array object

destPos - destination array ထဲမှာစတင်နေရာ

length - ကူးယူရန် array element အရေအတွက်

တစ်ခုခင်းကျင်းကူးယူ၏ဥပမာ

အောက်ကဥပမာမှာ source array ထဲက element ၄ ခုကို destination array သို့ကူးယူနေတယ်။ ထို့ကြောင့် output သည်“ java” ကိုထုတ်သည်။

public class ArrayCopy {

  public static void main(String[] args) {
    char[] a = {'d','l','h','y','j','a','v','a','g','r','t'};
    char[] b = new char[4];
    
    System.arraycopy(a, 4, b, 0, 4);
    System.out.println(String.valueOf(b));

  }

}
Output:
java

Array ကို method ထဲကို pass လုပ်ပါ

Java တွင်ကျွန်ုပ်တို့သည်နောက်ထပ်အရာတစ်ခုသို့မဟုတ်အခြားလုပ်ဆောင်မှုများအတွက် array object တစ်ခုကိုဖြတ်သန်းနိုင်သည်။ အောက်ဖော်ပြပါဥပမာသည် array ၏ integer object တစ်ခုကို method သို့မည်သို့ပို့နိုင်ပြီး array element များထပ်ပေါင်းခြင်းကိုမည်သို့လုပ်ဆောင်နိုင်သည်ကိုပြသသည်။

public class ArrayDemo3 {

  public static void main(String[] args) {
    int[] num = {5,7,3,2,8};
    add(num);

  }
  
  public static void add(int[] num) {
    int sum = 0;
    for(int i=0;i<num.length;i++) {
      sum = sum + num[i];
    }
    System.out.println("Sum of array elements is : " + sum);
  }

}
Output:
Sum of array elements is : 25

နည်းလမ်းတစ်ခုမှ array ပြန်သွားပါ

ကျွန်ုပ်တို့လည်းလုပ်နိုင်သည် တစ်ခုခင်းကျင်းပြန်သွားပါ လိုအပ်သောစစ်ဆင်ရေးဖျော်ဖြေပြီးနောက်နည်းလမ်းကနေအဓိကနည်းလမ်းမှအရာဝတ္ထု။

public class ArrayDemo4 {

  public static void main(String[] args) {
    String[] arr = getArrayValues();
    for(String cities:arr) {
      System.out.println(cities);
    }
      

  }
  
  public static String[] getArrayValues() {
    String[] arrCities = {"Chennai","Bangalore","Delhi"};
    return arrCities;
  }

}
Output:
Chennai
Bangalore
Delhi

Array ကိုင်တွယ်မှု

Array များ ဂျာဗားသည် java.util အထုပ်ဖြစ်သည်။ အောက်ဖော်ပြပါအတိုင်း java.util.Array class မှထောက်ပံ့သောလုပ်ဆောင်မှုများစွာရှိပါသည်။

  • Array class ၏ copyOfRange method ကို သုံး၍ array တစ်ခုမှတစ်ခုသို့တစ်ခုအထိ element အမျိုးမျိုးကိုကူးယူနိုင်သည်
  • အညွှန်းတစ်ခု (Binary search) အပေါ် အခြေခံ၍ သတ်သတ်မှတ်မှတ်တန်ဖိုးတစ်ခုအတွက် array တစ်ခုကိုရှာဖွေပါ။
  • ညီမျှခြင်းနည်းလမ်းကို အသုံးပြု၍ တန်းတူညီမျှမှုကိုစစ်ဆေးရန် arrays များနှင့်နှိုင်းယှဉ်ပါ
  • index တစ်ခုတွင်သတ်သတ်မှတ်မှတ်တန်ဖိုးတစ်ခုထားရန် array ဖြည့်ရန် fill method ကိုအသုံးပြုပါ
  • Sort method ကိုသုံးပြီး array တစ်ခုကို sorting

အသုံးပြုသူ - သတ်မှတ်အရာဝတ္ထုကိုအသုံးပြု။ ခင်းကျင်းဖန်တီးခြင်း

java တွင်ကျွန်ုပ်တို့သည် strings, integer စသည်ဖြင့်မည်သည့် user အမျိုးအစားသတ်မှတ်နိုင်သည်ကိုဆိုလိုသည်။ ၎င်းသည် Student array object နှင့် array object ကိုမည်သို့အစပြုနိုင်သည်ကိုဥပမာတစ်ခုဖြစ်သည်။

public class ArrayDemo5 {

  public static void main(String[] args) {
    Student[] s = new Student[2];
    s[0] = new Student(111,"Ajit");
    s[1] = new Student(112,"Biju");
  }

}
 class Student{
  public int rollno;
  public String name;
  public Student(int rno,String n) {
    rollno = rno;
    name = n;
  }
}

ကောက်ချက်

ဤသင်ခန်းစာသည် Java ရှိ Arrays Class ၏အသေးစိတ်ဖော်ပြချက်၊ Java ရှိ Array အမျိုးအစားများ၊ ပုံဥပမာအမျိုးမျိုးဖြင့် Array များကိုကြေငြာရန်၊

အညွှန်း