Saturday, October 22, 2016

1d array හැසිරවීම ලේසි කරගන්නෙ කොහොමද ?

21- වන පාඩම(1d array හැසිරවීම  ලේසි කරගන්නෙ කොහොමද ?  )






public class ArrayDemo3
 {
 public static void main(String[] args)
 {

 String ar[]=new String[3];
 System.out.println("default="+ar[0]);

 char ar2[]=new char[3];
 System.out.println("default="+ar2[0]);

 byte ar3[]=new byte[3];
 System.out.println("default="+ar3[0]);

 long ar4[]=new long[3];
 System.out.println("default="+ar4[0]);

 }
}


Output:
default=null
default=
default=0
default=0



ඉහත code එක බැලුවම තේරෙනව ඇති කොහොමද array හැදුවම තියන default වැලියු මොනවද කියල.
දැන් බලමු 1d array වල length ගන්න විදිය ,sort,මුලු array එකම ප්රින්ට් කරන්නෙ කොහොමද කියල.

මෙතනදි මුලින්ම util package  එකේ Arrays Class එක ඉම්පොර්ට් කරගන්න ඕනි.length එක ගන්නකොට සහ සමහර මෙතඩ් වලට මේ ඉම්පෝර්ට් කිරීම අවශ්ය නෑ,බලන්න පහල code එක. මන් example එකට ගත්තෙ long type array.


import java.util.Arrays;
public class ArrayDemo3
 {
 public static void main(String[] args)
 {
  long ar4[]=new long[3];
 ar4[0]=5;
 ar4[1]=3;
 ar4[2]=7;
 System.out.println("ori. array="+Arrays.toString(ar4));
 Arrays.sort(ar4);
 System.out.println("sor. array="+Arrays.toString(ar4));
       
        int fromIndex=1,end=3;
        ar4[0]=25;
 ar4[1]=10;
 ar4[2]=7;
        System.out.println("ori. array="+Arrays.toString(ar4));
        Arrays.sort(ar4, fromIndex, end);
        System.out.println("sor. array range"+Arrays.toString(ar4));
       
       
        long ar5[]=new long[3];
        System.arraycopy(ar4, 0, ar5, 0, ar4.length);//get array copy
        System.out.println(Arrays.equals(ar4, ar5));//check  2 arrays have equal type,length,values
         
        System.out.println("mem. ad="+ar4);
        System.out.println("mem. ad="+ar5);
        System.out.println(ar4.equals(ar5));//to equal memory addr. should be same
        ar4=ar5;
        System.out.println(ar4.equals(ar5));
         System.out.println("mem. ad="+ar4);
         System.out.println("mem. ad="+ar5);
       
      long  ar6[]=Arrays.copyOf(ar4, 2);
        System.out.println("array ar6="+Arrays.toString(ar6));
       
       System.out.println("index" +Arrays.binarySearch(ar4, 7));
       System.out.println("index =" +Arrays.binarySearch(ar4, 111));
 }
}






Arrays.toString(arrayname)  -array  එක ප්රින්ට් කරන්න ගන්නව.



Arrays.sort(arrayname) – මුලු array  එකම  sort කරන්න ගන්නව.




Arrays.sort(arrayname, fromIndex, end)- array  එක sort කරනව එක් පරාසයක .



System.arraycopy(source, srcPos, destination, destPos, length)-array එකක කොපියක් ගන්න බාවිත කරනව .මුලින්ම source array  එක, source array position එක, destination    array එක, destination array position එක, array length එක.



Arrays.equals(ar4, ar5) –array 2ක් සමානද බලන්න යොදගන්නව.මෙතනදි array 2ක් වෙනස් memory address වල තියනකොට එ 2කේ type,length,value සමාන වෙනවනම් true කියල return කරනව.නැත්නම් false



ar4.equals(ar5) – true කියල return කරන්නෙ ඒවගෙ memory address, type,length,value සමාන වෙනවනම්



Arrays.copyOf(ar4, lengthneed)- array එකක අවශ්ය length එකක කොපියක් ගැනීමට.



Arrays.binarySearch(ar4, key)- array එකක element එකක් තිබේදැයි බැලීමට




Array බාවිතයෙදි try-catch යොදාගන්න.




public class ArrayDemo4
 {
 public static void main(String[] args)
 {

  try
  {
   long ar4[]=new long[3];
  ar4[0]=5;
  ar4[1]=3;
  ar4[2]=7;
  //System.out.println(ar4[3]);
  //System.out.println(ar4[-3]);
  //ar4[8]=4;
  }
  catch(Exception e)
  {
   System.out.println(e);
  }
 }
}





මන් comment දාල තියන ඒව අයින් කරල එකින් එක compile කරකර run කරල බලන්න.
Compile කරනකොට compile උනත් රන් වෙනකොට error එන මේ වගෙ තැන් වලදි  try-catch බාවිතයෙන් මොකක්ද අව්ල කියල හොයගන්න පුලුවන් වෙනව.
වැරදි විදියට index බාවිතය ගොඩක් වෙලාවට සිදුවෙනව array use කරනකොට.

No comments:

Post a Comment