អារេ (Arrays)
Arrays (អារេ) ក្នុង Java
📦 Array គឺជាអ្វី?
Array គឺ container ដែលអាចរក្សាទុកទិន្នន័យច្រើនក្នុង variable តែមួយ។ ទិន្នន័យទាំងអស់ត្រូវតែប្រភេទដូចគ្នា។
ឧទាហរណ៍ក្នុងជីវិតពិត:
- ប្រអប់: ប្រអប់មួយដាក់របស់ច្រើន
- ធ្នើរ: Shelf មួយមានសៀវភៅច្រើន
- អាផាតមិន: បន្ទប់មានលេខរៀង (index)
📚 ហេតុអ្វីត្រូវការ Arrays?
- រក្សាទិន្នន័យច្រើន: ដាក់ពិន្ទុ 100 ឬ 1000 ក្នុង variable តែមួយ
- គ្រប់គ្រងប្រភេទដូចគ្នា: int[], String[], double[]
- ចូលប្រើបានដោយ index: ទិន្នន័យនៅទី 0, 1, 2...
- Efficient: លឿន និង memory efficient
📦 Array vs Individual Variables
Individual Variables | Array |
---|---|
int score1 = 90; int score2 = 85; int score3 = 92; int score4 = 88; int score5 = 95; |
int[] scores = {90, 85, 92, 88, 95}; |
Variables ច្រើន, លំបាក | Variable តែមួយ, ងាយគ្រប់គ្រង |
🔢 Index (លេខរៀបរាប់)
Array ប្រើ index ដើម្បីចូលប្រើ element។ Index ចាប់ផ្តើមពី 0។
int[] numbers = {10, 20, 30, 40, 50};
// 0 1 2 3 4 (index)
numbers[0] → 10
numbers[1] → 20
numbers[4] → 50
🧱 Memory Layout
int[] arr = {10, 20, 30};
Memory:
+-------+-------+-------+
| 10 | 20 | 30 | (Contiguous memory blocks)
+-------+-------+-------+
[0] [1] [2] (Index)
📊 ប្រភេទ Arrays
- Primitive Arrays: int[], double[], boolean[]
- Object Arrays: String[], Person[], Car[]
- Multi-dimensional: int[][], int[][][]
Java Code
Click "Run" to execute the Java code
📦 Multi-dimensional Arrays
🔲 2D Array (Array 2 មាត្រ)
Array 2D គឺ array of arrays - ដូចជា តារាង (table/matrix)។
// Syntax
dataType[][] arrayName = new dataType[rows][cols];
// ឧទាហរណ៍
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
📊 រូបភាព 2D Array
int[][] matrix = {
{1, 2, 3}, // row 0
{4, 5, 6}, // row 1
{7, 8, 9} // row 2
};
Col0 Col1 Col2
Row0 [ 1 2 3 ]
Row1 [ 4 5 6 ]
Row2 [ 7 8 9 ]
🎯 Access 2D Elements
matrix[0][0] → 1 // Row 0, Column 0
matrix[0][2] → 3 // Row 0, Column 2
matrix[1][1] → 5 // Row 1, Column 1
matrix[2][2] → 9 // Row 2, Column 2
🔁 Loop through 2D Array
// ប្រើ Nested loop
for (int i = 0; i < matrix.length; i++) { // rows
for (int j = 0; j < matrix[i].length; j++) { // columns
System.out.print(matrix[i][j] + " ");
}
System.out.println(); // new line
}
// Output:
// 1 2 3
// 4 5 6
// 7 8 9
🎮 ឧទាហរណ៍ការប្រើ 2D Arrays
- Game Board: Tic-tac-toe, Chess, Sudoku
- Matrix Math: គណិតវិទ្យា, Linear algebra
- Image Processing: Pixels (rows x columns)
- Spreadsheet: Rows និង Columns
- Seating Chart: ផែនទីកន្លែងអង្គុយ
🎲 3D Array និងបន្ថែម
// 3D Array - Cube
int[][][] cube = {
{
{1, 2},
{3, 4}
},
{
{5, 6},
{7, 8}
}
};
// Access: cube[layer][row][col]
cube[0][0][0] → 1
cube[1][1][1] → 8
⚠️ Common Array Issues
កំហុស | មូលហេតុ | ដំណោះស្រាយ |
---|---|---|
ArrayIndexOutOfBoundsException | Index លើសពីទំហំ | ពិនិត្យ index < length |
NullPointerException | Array ជា null | បង្កើត array មុន |
មិនអាចប្តូរទំហំ | Fixed size | ប្រើ ArrayList |
💡 Array Tips
- Length:
array.length
(មិនមែន () នៅក្រោយ) - Index: ចាប់ពី 0, បញ្ចប់នៅ length-1
- Copy: ប្រើ
Arrays.copyOf()
- Sort: ប្រើ
Arrays.sort()
- Compare: ប្រើ
Arrays.equals()
- Dynamic: ប្រើ ArrayList ដើម្បីទំហំប្តូរបាន
Java Code
Click "Run" to execute the Java code