How to use Arrays in Java
අපි අවසානයටම කතා කරේ තරු රටා print කරන්න හිතන්නෙ කොහොමද කියලානේ.. හැබැයි ඒක දාලා ගොඩක් දවස් යනකන් මේ පැත්තට එන්න බැරි වුනා. ඇත්තටම මේ සති දෙක තුන හොඳටම හිරවුනා. දන්න කට්ටිය දන්නවත් ඇති කොච්චර වැඩ set වුනාද කියලා. හැමදාම අද කීය වෙනකන්හරි ඉඳලා කොහොමහරි දානවා කියලා හිතාගත්තත් මහන්සියට නින්ද ගිහිල්ලා හරි වැඩේ මග ඇරුනා.. කමක් නෑ. අදනම් නිදිමත නැති කරගෙන කොහොමහරි දානවා කියලා හිතාගෙන තමයි මේ වැඩේ පටන් ගන්න සූදානම.. :-)
Arrays
arrays කියන්නෙ java වල තියෙන වැදගත්ම වගේම ගොඩක් අය පටලවාගන්න තැනක්.. ඒක නිසා අපි ටිකෙන් ටික හෙමිහිට වැඩේ හිතන විදියම ඔලුවට දාගමු.. මුලින්ම අපි array එකක් කියන්නෙ මොකක්ද කියලා පොඩි idea එකක් අරගෙනම array එකක් ඕන වුනේ ඇයි කියලා බලමු. දැනට array එකක් කියන්නෙ variable set එකක් එකට තියලා හදාගත්තු variable group එකක් කියලා මතක තියාගන්නකො..
why array?
මෙහෙම හිතමුකො.. අපිට ළමයි 5 දෙනෙක්ගෙ subject 3ක marks තියාගන්න ඕන වෙනවා කියලා ගමුකො.. එතකොට එක ළමයෙක්ට 3 ගානෙ ළමයි 5ට variable 15ක් හදන්න වෙනවා නේද? ඒකත් නෙවෙයි ප්රශ්නෙ එක සැරේටම එක ළමයෙක්ට අදාළ marks ගන්න ගියාම ඒ අදාළ variable 3 හොයාගන්න බැරි වෙනවානෙ.. ඉතිං මෙන්න මේ වගේ වෙලාවට තමයි හිතෙන්නෙ අපිට variable 3ක් group කර ගන්න පුළුවන් නම් එහෙම හදාගන්න group 5කට ලේසියෙන්ම ළමයින්ගෙ ලකුණු දාගන්න පුළුවන්නෙ කියලා.. ඕන වෙලාවක ඒවා access කරන්නත් ලේසියි. අන්න ඒක නිසා තමයි අපිට Array වල අවශ්යතාවය ආවෙ..
Declare an Array
හොඳට මතක තියාගන්න array එකකදි group කරලා තියාගන්න පුළුවන් එකම ජාතියෙ variable set එකක් විතරයි හොඳද.. දැන් අපි බලමුකො කොහොමද array එකක් declare කරගන්නෙ කියලා. හැබැයි ඊට කලින් අපිට normal variable එකක් declare කරන විදිය බලල ආවනම් හොඳයි කියලත් හිතෙනවා.. එහෙනම් මෙතනින් ගිහින් ඒ ගැන බලලම එන්නකො..
මම උදාහරණයක් විදියට integer variable 5ක් group කරලා හදන array එකක් ගන්නම්කො..
මේ තියෙන්නෙ normal integer variable එකක් හදන එකනේ.. ඉතින් මෙතනදි හොඳට මතක තියාගන්න x කියන්නෙ integer value එකක් තියාගන්න පුළුවන් variable එකක label එකනේ.. array එකක් කියලා අඳුරගන්න තියෙන්නෙ arrays වලදි [] කොටු වරහනක් එනවා.. එහෙනම් integer array එකක් x කියලා හදනවානම්...
දැක්කා නේද? මතක තියාගන්න අමාරු නෑ.. දැන් ඊළඟට කෙනෙක්ට ප්රශ්නයක් එන්න පුළුවන් array එකක් කියලා compiler ට අඳුරගන්න දාන මේ කොටු වරහන දාන්න ඕන කොතනටද කියලා..
රූපේ පෙන්නලා තියෙන විදියට මේ කොටු වරහන මේ තැන් තුනටම වැරදිලා හරි දාන්න පුළුවන් නේද? ඉතිං java කොච්චර හොඳ language එකක්ද කියනවානම් කොටු වරහන එන්න පුළුවන් මේ තැන් තුනම compiler ට කියලා දීලා තියෙන්නෙ.. ඉතිං ඒක නිසා කාටවත්ම වැරදිලාවත් මේක වරදින්න විදියක් නෑ.. :-p
රූපෙන් පෙන්නලා තියෙන විදියට normal x variable එකට 5 කියන එක දාපු විදියටම x කියන integer array එකටත් 5 කියන value එක දීලා තියෙනවා. ඇත්තටම මෙහෙම කරන්න පුළුවන්ද? උත්තරේ බෑ කියන එක. ඒකට හේතුව තමයි int x කියලා හදන x variable එක තියාගන්නෙ integer value එකක් නිසා එයාට integer value එකක් වෙන 5 තියාගන්න පුළුවන්. හැබැයි int[] x කියලා හදන x variable එක integer array එකක් වෙනුවෙන් හදන variable එකක් නිසා එයාට නිකම්ම integer values තියාගන්න බෑ. එයාට තියාගන්න පුළුවන් integer array එකක් විතරයි. ඒ කියන්නෙ එයාට integer values තියාගන්න බෑ. හැබැයි integer variable එකක් group කරලා තිව්වම ඒක තියෙන්නෙ කොහෙද කියලා address එක තියාගන්න පුළුවන්.
ඒක නිසා හොඳට මතක තියාගන්න int[] x කියලා අපි හදන්නෙ integer array එක නෙවෙයි අපි ram එකේ හදන integer array එකක් තියෙන්නෙ කොහෙද කියලා හොයාගන්න පුළුවන් වෙන්න ඒකෙ address එක තියාගන්න හදන address variable එකක් නැත්නම් reference variable එකක් කියලා..
අනික මෙතන integer variable කීයක් group කරලද කියලා සඳහනකුත් නෑනේ.. මෙතන තියෙන්නෙ ඕනම integer array එකක address එකක් තියාගන්න පුළුවන් address variable එකක් විතරයි..
දැන් අපි බලමු එහෙනම් කොහොමද මේ කියන integer variable set එකක් group කරන්නෙ කියලා..
රූපේ පෙන්නලා තියෙන විදියට තමයි අපි integer variable 5ක් group කරන්නෙ නැත්නම් integer variable 5ක array එකක් හදන්නෙ.. මෙතනදි මතක තියාගන්න එච්චර අමාරු නෑ. අපි අළුතින් හදන නිසා new කියලා එනවා හදන්නෙ integer array එකක් නිසා int[] කියලා එනවා. අපිට ඕන integer variable 5ක array එකක් නිසා කොටු වරහන ඇතුලෙ 5 කියලා දෙනවා. ඇත්තටම මෙතනදි තමයි අපි අවශ්ය variable ගාන කියන්නෙත්. අවශ්ය ගාන කොටු වරහන් ඇතුලෙ දාන්න විතරයි තියෙන්නෙ..
දැන් ඉතින් අපිට තියෙන්නෙ මේ හදාගන්න variable group එක නැත්නම් ARRAY එකේ address එක address variable එකකට දාගන්න එක. බලමුකො ඒක කොහොමද කරන්නෙ කියලා..
රූපෙ පෙන්නලා තියෙන විදියට දකුණු පැත්තෙ තියෙන code එක නිසා ram එකේ හැදෙන array object එකේ address එක වම් පැත්තෙ තියෙන x කියන integer array address variable එක ඇතුලට දානවා..
Use Array
දැන් එහෙනම් අපි බලමුකො කොහොමද මේ හදන array එකට values දාන්නෙ කියලයි ආපහු ඒවා ගන්නෙ කොහොමද කියලයි.. ඊට කලින් අපි පොඩ්ඩක් බලලා ඉමු ram එකේ මේ array එක හැදෙන්නෙ කොහොමද කියලා පොඩි චිත්ර කෑල්ලකින්..
ram එකේ පැත්තක හැදෙන integer variable 5කින් යුතු array object එකේ address එක x කියන address variable එක ඇතුලට දාලා තියෙනවා..
දැන් නිකමට හිතලා බලන්නකො අපි x කියලා normal integer variable එකක් හදලා ඒකට value එකක් දානවනම් int x; කියලා variable එක හදලා පස්සෙ x = 5 කියලා දාන්න පුළුවන්නෙ.. ඒත් දැන් array address variable එක x වෙච්ච එකේ තියෙන array object එකේ එක variable එකකට value එකක් දාන්නනම් අපි array object එක ඇතුලෙ තියෙන variable 5ටත් label දෙන්න ඕන නේද? ඉතින් array object එකක් හැදෙද්දි ඒ variable ටික (element ටික) 0 ඉඳන් automatically index වෙනවා පහත රූපෙ පෙන්නලා තියෙන විදියට.
දැන් ඉතින් අපිට තියෙන්නෙ value එකක් දෙනවානම් ඒ අදාළ variable එකටම දාන්න කියලා දෙන එක විතරයි. අපි බලමුකො එහෙනම් 3න් වෙනි variable එකට 5 කියන value එක දාන්නෙ කොහොමද කියලා. මෙතනදි හොඳට මතක තියාගන්න 3න් වෙනි element එකේ index එක වෙන්නෙ 2 කියලා මොකද index වෙන්න පටන් ගන්නෙ 0 ඉඳන්නෙ.. ගොඩක් අය මේ දේ වරද්දගන්නවා.. ඒක පොඩ්ඩක් ඔලුවට දාගන්න..
රූපේ පෙන්නලා තියෙන විදියට තමයි 3වෙනි element එකට 5 කියන value එක දාන්නෙ.. මේක මතක තියාගන්න ඇත්තටම අමාරු නෑ... array එකේ address variable එක x නිසා x කියලා ලියලා array එකක් නිසා [] කොටු වරහන දානවා. මොන element එකටද value එක වැටෙන්නෙ ඕන කියලා දෙන්න කරන්න තියෙන්නෙ ඒ element එකේ index එක මේ කොටු වරහනෙ ඇතුලෙ ලියන එක විතරයි. දැන් ඉතිං x[2] කියන්නෙ සාමාන්ය integer variable එකක්ම නිසා ඒකට දැන් normal variable එකකට value එකක් දාන විදියටමයි value එක දාන්න තියෙන්නෙ..
අපිට 5 වෙනි element එකට 3 දාන්න ඕන වුනානම් code එක ලියවෙන්නෙ x[4] = 3; කියලා. තේරෙනවා නේද දැන්???
එහෙනම් අපි බලමු කොහොමද දැන් මේ දාපු value එකක් use කරන්නෙ කියලා.. ඇත්තටම ඉතින් මෙච්චර වෙලා කියපුවා තේරුනානම් දැන් ගේමක්ම නෑ ඉතිං..
හිතන්නකො අපිට 3 වෙනි element එකේ තියෙන value එක Print කරන්න ඕන වුනා කියලා..
ඉතින් අපිට තේරෙනවානම් array එක ඇතුලෙ තියෙන තනි variable එකක් access කරගන්න එතනින් එහාට ඒක සාමාන්ය variable එකක් වගේම තමයි use වෙන්නෙ..
එහෙනම් කට්ටියටම array කියන්නෙ මොකක්ද? ඇයි array එකක් අවශ්ය වුනේ? array එකක් හදන්නෙ කොහොමද? array එකක් use කරන්නෙ කොහොමද කියලා පොඩි හරි idea එකක් ආවා කියලා හිතනවා.. කෝකටත් කියලා මම පොඩි summary එකකුත් දෙන්නම්කො..
Summary
- Array එකක් කියන්නෙ එකම ජාතියේ variable set එකක එකතුවක්.. (group එකක්)
- Array එකක ප්රධාන කොටස් දෙකක් තියෙනවා address variable එකයි array object එකයි කියලා..
- Array එකක elements label වෙන්නෙ 0 ඉඳන් index විදියට..
- 0 ඉඳන් index වෙන නිසා අවශ්ය element එකේ index එක වෙන්නෙ ඒකට එකක් අඩු එක.
හිතට ලොකු සතුටක් දැනෙනවා කොහොමහරි නිදාගන්නෙ නැතුව මේක ඉවර කරන්න ලැබුන නිසා.. හෙට දවසෙත් කරන්න ගොඩක් වැඩ තියෙනවා. ඒක නිසා දැන්වත් ටිකක් නිදාගන්න ඕන. ඉතින් කාටහරි ප්රශ්නයක් තියේනම් අනිවා අහන්න. මම වැඩිය මුකුත් නොකියා එහෙනම් වැඩේ මෙතනින් නවත්වනවා.. ඊළඟ කොටසින් අපි method ගැන කතා කරලා java programming වලින් කෙලින්ම Object Oriented Programming (OOP) වලට යමු.. එහෙනම්,
මතුසම්බන්ධයි..