Friday, September 23, 2016

1d arrays

20 වන පාඩම(1d arrays)
Data store කර තියාගන්න ලේසි විදියක් මේක. වගේම පහසුවෙන් data වලට acces වෙන්නත් පුලුවන්.එකම ටයිප් එකේ data store කරගන්න නිසා array එක තුල data compare කරන්න,max,min,sort වගේ දේවල් පහසුවෙන් හොයන්න කරන්න පුලුවන්.
මුලින්ම බලමු කොහොමද array එකක් initialize කරන්නෙ කියල.
int array[]=new int[5];
මෙතනදි වමේ  [] එක int  ගාවින් ලියන්නත් පුලුවන්.
int[] array=new int[5];
මෙතනදි array type එක integer සහ size එක 5.
මේකෙන් අදහස් වෙන්නෙ array එකේ 0,1,2,3,4 වෙනකන් integer element දාන්න පුලුවන්.මතක තියාගන්න array වල index පටන්ගන්නෙ 0 ඉදන් කියල.size එක n නම් index තියනව 0 සිට n-1 වෙනතුරු. වගේම මෙතනදි හැම index එකකම තියන data value එක 0. Integer  array වල    default අගය ගන්නෙ 0.
 දැන්  index වලට  අදාලව data දෙන්න ඕනි. අපිට කැමති පිලිවෙලකට data දෙන්න පුලුවන්. වගේම නැවත නැවත data වෙනස් කරන්න පුලුවන්

public class ArrayDemo
 {
            public static void main(String[] args)
            {         
            int array[]=new int[5];
                        array[2]=15;
                        array[3]=16;
                        array[4]=17;
                        array[0]=10;
                        array[1]=11;
                       
                        System.out.println(array[0]);
                        System.out.println(array[1]);
                        System.out.println(array[2]);
                        System.out.println(array[3]);
                        System.out.println(array[4]);
                        array[0]=3;
                        array[1]=5;
                        array[3]=4;
                        array[2]=8;
                        array[4]=9;
                        System.out.println(array[0]);
                        System.out.println(array[1]);
                        System.out.println(array[2]);
                        System.out.println(array[3]);
                        System.out.println(array[4]);
            }
}
මෙතනදි data user ගෙන් read කරන්නත් පුලුවන්.
තව විදියකට Array initialize කරන්න පුලුවන්.

public class ArrayDemo2
 {
            public static void main(String[] args)
            {         
            int array[]={7,8,1,6,5};
                        System.out.println(array[0]);
                        System.out.println(array[1]);
                        System.out.println(array[2]);
                        System.out.println(array[3]);
                        System.out.println(array[4]);
                       
            }
}
මෙතනදි {} තුල අපට ඕන data ටික දැම්මම ඊට අදාල index වලට පිලිවෙලින් data allocate  වෙනව.
දැන් for-loop,while-loop බාවිත කරානම් තවත් ලේසියි නේද.
දැන් අපිට කැමති size එකක array එකක් හදල ඒකට value read කරල ප්රින්ට් කරමු.

import java.util.*;
public class ArrayDemo2
 {
            public static void main(String[] args)
            {         
            Scanner s=new Scanner(System.in);
            System.out.println("enter array size");
            int n=s.nextInt();
            int[] array=new int[n];
                        for(int i=0;i<n;i++)
                        {
                                    System.out.print("enter element for index"+i+": ");
                                    array[i]=s.nextInt();
                        }
                       
                        System.out.println("here the array elements ");
                        for(int i=0;i<n;i++)
                        {
                                    System.out.println("index"+i+"= "+array[i]+" ");
                        }
            }
}
දැන් බලමු අනෙක් data type වල array හදන්නෙ කොහොමද කියල.

String s[]=new String[5];
                        s[0]="one";
                        s[1]="two";
                        System.out.println(s[0]);
                        System.out.println(s[1]);
                       
                        String s2[]={"one","two"};
                        System.out.println(s2[0]);
                        System.out.println(s2[1]);
                       

String වලදිත් ඉහත ආකාර දෙකෙන්ම හදන්න පූලුවන්.දෙවනි විදියට හදන්කොට “ ” පාවිච්චි කල යුතු වෙනව.
Char වල array හදන්නෙ කොහොමද බලමු.

char ch[]={'1','5'};
            char ch2[]=new char[5];
‘ ‘  බාවිත  වෙනව මෙතනදි.පටලව ගන්නෙපා string වලදි “ “
           
           
           
            double dd[]=new double[20];
            long ll[]=new long[20];
            float ff[]=new float[20];

මතක තියාගන්න  array වල size එක fix කියල.
අපි array එකක් හැදුවම ඒකෙ size එකට වඩ වැඩියෙන් දැම්මොත් out of bound වෙනව කියල.ඒ වගේම size එකට වැඩියෙන් index access කරන්න හැදුවත්  out of bound වෙනව කියල.