Monday, October 24, 2016

2d array,jagged array

22-වනපාඩම(2d array)
2d array 1ක් කියන්නෙහරියට array ගොඩක එකතුවක් කියල හිතන්නත් පුලුවන්.                      
0,0
0,1
0,2
0,3
1,0
1,1
1,2
1,3
2,0
2,1
2,2
2,3
3,0
3,1
3,2
3,3

මුලින්ම  බලමු මේකෙ index අගයන් ගැන.මේ රූපෙ තියනව row 4 ,column 4.
Index පටන්ගන්නෙ 0,0 න් .මුලින්ම ලියන්නෙ  row අගය.ඊලගට column අගය .දැන් බලමු කොහොමද 2d array එකක් හදන්නෙ කියල.

int arr[][]=new int[3][4];
int[][] arr2=new int[3][4];

මේ විධි  දෙකේදිම row =3,column=4 වන array එකක් තමයි හදල තියෙන්නෙ.
මේ array එකට data දාන්න for-loop 2කින් පුලුවන්.බලන්න පහල code එක.0 ඉඳන් data දාල තියනව.

public class ArrayDemo5
 {
            public static void main(String[] args)
            {         
                        int arr[][]=new int[3][4];
                        //int[][] arr2=new int[3][4];
                        int k=0;
                        for(int i=0;i<3;i++)
                        {
                                    for(int j=0;j<4;j++)
                                    {
                                                arr[i][j]=k;
                                                k++;
                                    }
                        }
                        for(int i=0;i<3;i++)
                        {
                                    for(int j=0;j<4;j++)
                                    {
                                                System.out.print(arr[i][j]+" ");
                                    }System.out.println();
                        }

            }
}
මේ data user ගෙන් read කරල store කරන්න.scanner (s )එකක් හදල s.nextInt() මෙතඩ් එක මගින්.
කැමති column,row ගානක් දීල.print කරනකොට පිලිවෙලට print කරන්න ඉහත විධියට කරන්න පුලුවන්.

ඊලග විධිය බලමු.
public class ArrayDemo6
 {
            public static void main(String[] args)
            {         
           
                        int arr[][]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};
                       
                        for(int i=0;i<arr.length;i++)
                        {
                                    for(int j=0;j<arr[i].length;j++)
                                    {
                                                System.out.print(arr[i][j]+" ");
                                    }System.out.println();
                        }

            }
}
Output:
0 1 2 3
4 5 6 7
8 9 10 11
මෙතනදිත් කලින් array එකම තමයි හදල තියෙන්නෙ.{ } වරහන් මගින් අවශ්‍ය ප්‍රමානයට data දෙන්න පුලුවන්.මෙතනදි වෙනස් column ගානක් දෙන්න පුලුවන් row වලට අදාලව.

Arr.length –row size එක හොයන්න පුලුවන්
arr[i].length-row එකට අදාලව column size එක හොයන්න පුලුවන්.jagged array හසුරවන්න පහසුයි මේ මගින්.

Jagged array

int arr[][]={{0,1,2},{4,5,6,7,4,5},{8,9,10,11}};

මෙන්න මේ වගෙ array වලට කියන්නෙ jagged array කියල.
Public class ArrayDemo6
 {
            public static void main(String[] args)
            {         
           
                        int arr[][]={{0,1,2},{4,5,6,7,4,5},{8,9,10,11}};
                       
                        for(int i=0;i<arr.length;i++)
                        {
                                    for(int j=0;j<arr[i].length;j++)
                                    {
                                                System.out.print(arr[i][j]+” “);
                                    }System.out.println();
                        }

            }
}

Output:
0 1 2
4 5 6 7 4 5
8 9 10 11
බලන්න මුල්ම row එකේ  අගයන් 3 ,දෙවනි එකේ 6,අවසාන එකේ 4.

අනෙක් විදිය බලමු jagged array හදන විදිය.
int arr[][]=new int[3][];
                        arr[0]=new int[4];
                        arr[1]=new int[2];
                        arr[2]=new int[7];
row  size එක විතරක් මුලින්ම දෙනව.
ඊලගට එක එක row එකට අදාලව column size දෙනව.

public class ArrayDemo6
 {
            public static void main(String[] args)
            {         
           
                        int arr[][]=new int[3][];
                        arr[0]=new int[4];
                        arr[1]=new int[2];
                        arr[2]=new int[7];
                       
                        for(int i=0;i<arr.length;i++)
                        {
                                    for(int j=0;j<arr[i].length;j++)
                                    {
                                                System.out.print(arr[i][j]+" ");
                                    }System.out.println();
                        }

            }
}

Output:මන් data දාල නැති නිසා int වල default අගය තමයි ප්‍රින්ට් වෙන්නෙ.
0 0 0 0
0 0
0 0 0 0 0 0 0

මේ ක්‍රම බාවිත කරල  user ගෙන් කැමති column size ,value අරන් jagged array හදන්න පුලුවන්.
                       


No comments:

Post a Comment