Sunday, December 20, 2020

Java Programming sinhala tutorial - 2D, 3D, ND Arrays - Part 23

2D, 3D, ND Arrays/ Multidimensional Arrays

    කලින් ලිපි වලින් අපි 1D arrays ගැන දැනගත්තනේ. අද අපි multidimensional arrays ගැන බලමු.

    එකම data type එකක් පවතින array කිහිපයක් single unit එකක් ලෙස represent කිරීම 2D Arrays කියලා සරලවම කියන්න පුළුවන්.



    2D array භාවිතා කිරීම මගින් data tabular format එකෙන් store කල හැක. ඉහත 2D array උදාහරණය අනුව N මගින් පේළි ගණන ද M මගින් තීරු ගණන ද ලබා ගත හැක. සියලු element ගණන M * N වේ. Nested loop භාවිතයෙන් 2D arrays පහසුවෙන් හැසිරවිය හැක.



    2D array එකක් int[][] y; ලෙස command කල විට variable stack එකේ array reference variable එක නිර්මාණය වේ. 
    y = new int[4][3]; ලෙස command කල විට variable 4 ක් සහිත array එකක් නිර්මාණය වේ. එසේම variable 3 ක් සහිත array 4 ක් එකක් නිර්මාණය වන අතර එම array වලට අදාල array address කලින් නිර්මාණය වූ variable 4 ක් සහිත array එකෙහි එක් එක් variable වල store වේ. variable 4 ක් සහිත array එකෙහි address එක y reference variable එකෙහි store වේ.




    3D array එකක variables RAM එකෙහි නිර්මාණය  වන ආකාරය පහත පරිදි වේ.

int[][][] z = new int[4][3][2];


    2D, 3D, ND array reference පහත පරිදි ලිවිය හැක.



    2D, 3D, ND array constructors පහත පරිදි ලිවිය හැක.



    2D array එකක length එක පහත පරිදි සෙවිය හැක. 2D array එකක length එක යනු එහි array ගණන වන අතර එහි එක් array එකක length එක යනු එම array එකෙහි element ගණන වේ.



    2D, 3D, ND array වල එක් එක් variable වල අගයන් පහත පරිදි assign කල හැක. Literals store කල හැකි variable වල literals පමණක් store කල හැකි අතර array reference tore කල හැකි variable වල array reference පමණක් store කල හැකි.


අපි ඊලග ලිපියෙන් Java ගැන තවත් විස්තර ඉගෙන ගනිමු.

- චමෝදි -

Wednesday, December 9, 2020

Java Programming sinhala tutorial - Array Sorting - Part 22

Array Sorting

    අද අපි බලමු array sorting කියන්නේ මොකද්ද කියලා. Array එකක variable වල value කුඩා අගයේ සිට විශාල අගය දක්වා සකස් කිරීම array sorting කියලා සරලවම කියන්න පුළුවන්. Sorting algorithms ගොඩක් තිබුනත් මම මේ ලිපියෙන් අද කියන්න යන්නේ ක්‍රම 2 ක් ගැන විතරයි. ඒ bubble sort හා selection sort ගැන.

Bubble Sort

    මෙහිදී array එකක එක ලග පවතින element 2 ක value සංසන්දනය කරමින් විශාල value එක සහිත element එක 2 වන element එක ලෙස swap කරයි. මෙම ක්‍රියාවලිය මුළු array එකම sort වන තෙක් සිදු කරයි.



Selection Sort

    Array එකක variable වල value sort කරන දෙවන ක්‍රමය මෙයයි. වැඩිම අගය සහිත index එක සොයා එය අවසාන variable එකට ද එම අවසාන variable එකේ අගය, විශාලම අගය පවතී variable එකටද මාරු කරයි. ඉන් පසු ඊළගට වැඩිම අගය සහිත index එක සොයා එය අවසාන variable එකට පෙර variable එකටද එම variable එකේ අගය, දෙවන විශාලම අගය පවතී variable එකටද මාරු කරයි. මෙලෙස මුළු array එකම sort වන තෙක් සිදු කරයි.


අපි ඊලග ලිපියෙන් Java ගැන තවත් විස්තර ඉගෙන ගනිමු.

- චමෝදි -

Saturday, December 5, 2020

Java Programming sinhala tutorial - Array Search - Part 21

Array Search

    අද අපි බලමු යම් කිසි array එකක දෙන ලද value එකක් තිබේද නැද්ද යන්න හා එම value එක පවතී නම් එය පවතින array index එක කොහොමද සොයාගන්නේ කියලා. සරලවම for loop එකක් භාවිතයෙන් අපිට මේ task එක කරන්න පුළුවන්.


    Array එකෙහි සොයනු ලබන අගය එක් වාරයකට වඩා පවතින විට එම අගය අවසන් වරට පවතින index එක ඉහත ක්‍රමය මගින් ලැබේ.

    පහත ක්‍රමය මගින් array එකෙහි සොයනු ලබන අගය එක් වාරයකට වඩා පවතින විට එම අගය පළමු වරට පවතින index එක ලබා ගත හැක. ඒ සදහා break keyword හෝ return keyword එක භාවිතා කළ හැක.

Using break Keyword
Using break Keyword

Using return Keyword
Using return Keyword

Binary Search

    Binary search ක්‍රමය පිලිවලට සකස් කල array එකක් (sorted array) සදහා පමණක් භාවිතා කල හැක. Array sorting algorithm ගැන අපි ඊළග ලිපියෙන් දැන ගමු. 

    මෙහිදී search කරනු ලබන value එක array එකෙහි භාගයක් සලකමින් නැවත නැවතත් සොයනු ලබයි. search කරනු ලබන value එක array එකෙහි මැද අගයට වඩා අඩු නම් array එකෙහි මුල් භාගය ඊළග වාරයේදී array එක ලෙස සලකනු ලබයි. එසේ නොමැති නම් array එකෙහි අග භාගය ඊළග වාරයේදී array එක ලෙස සලකනු ලබයි.





අපි ඊලග ලිපියෙන් Java sort ගැන විස්තර ඉගෙන ගනිමු.

- චමෝදි -