Ở bài 19 chúng ta đã thao tác được với mảng 1 chiều. Trong bài này Tui sẽ trình bày về cách thức khai báo và sử dụng mảng 2 chiều của Kotlin.
Cú pháp khai báo mảng 2 chiều tổng quát trong Kotlin:
var M:Array<Kiểu_Dữ_Liệu_Mảng> = Array(Số_Dòng,{Kiểu_Dữ_Liệu_Mảng(Số_Cột)})
Ví dụ dưới đây sẽ khai báo một mảng 2 chiều tên là M có 10 dòng và 5 cột, dữ liệu các phần tử trong M có kiểu Int:
var M:Array<IntArray> = Array(10,{IntArray(5)})
Các chỉ số dòng và cột cũng chạy từ 0->n-1
Bạn có thể tưởng tượng cấu trúc dữ liệu của mảng 2 chiều như sau:
Mảng 2 chiều trong Kotlin cũng có một tập các phương thức vô cùng mạnh mẽ.
Để nhập liệu cho các phần tử trong mảng 2 chiều M ta làm như sau:
var rd:Random = Random()
for(i in M.indices)
{
for(j in M[i].indices)
{
M[i][j]=rd.nextInt(100)
}
}
Ta dùng 2 vòng lặp for duyệt theo vị trí (indices). Vòng lặp ngoài là duyệt theo dòng, vòng lặp trong là duyệt theo cột. Mỗi làn duyệt ta có M[i][j] chính là phần tử ở dòng thứ i và cột thứ j. Ta cập nhật dữ liệu cho phần tử này.
Để xuất dữ liệu ra màn hình ta cũng làm tương tự:
for(i in M.indices)
{
for(j in M[i].indices)
{
print(“${M[i][j]}t”)
}
println()
}
Ví dụ chi tiết một số chức năng xử lý Mảng 2 chiều trong Kotlin:
import java.util.* /** * Created by cafe on 28/05/2017. */ fun main(args: Array) { var M:Array = Array(10,{IntArray(5)}) var rd:Random = Random() for(i in M.indices) { for(j in M[i].indices) { M[i][j]=rd.nextInt(100) } } println("Mảng 2 chiều sau khi nhập:") for(i in M.indices) { for(j in M[i].indices) { print("${M[i][j]}t") } println() } println("Mảng 2 chiều sau khi nhập - cách 2:") for(row in M) { for(cell in row) { print("$cell t") } println() } println("Mảng thứ 1:") var M1=M[1] for (i in M1.indices) print("${M1[i]}t") println() } Kết quả khi chạy ta thấy:
| Mảng 2 chiều sau khi nhập: 51 9 58 96 46 48 76 11 68 44 11 73 77 18 45 22 10 91 22 35 59 66 48 42 59 84 5 58 0 79 50 68 72 29 64 8 66 69 90 93 35 92 5 8 13 18 48 44 82 52 Mảng 2 chiều sau khi nhập – cách 2: 51 9 58 96 46 48 76 11 68 44 11 73 77 18 45 22 10 91 22 35 59 66 48 42 59 84 5 58 0 79 50 68 72 29 64 8 66 69 90 93 35 92 5 8 13 18 48 44 82 52 Mảng thứ 1: 48 76 11 68 44 |
Như vậy tới đây Tui đã hướng dẫn xong cách khai báo, nhập, xuất mảng 2 chiều trong Kotlin, các bạn chú ý học kỹ và hiểu được nó thông qua các ví dụ ở trên nhé. Các bạn Cần kiểm tra thêm nhiều phương thức khác trong mảng 2 chiều để có thể áp dụng tốt vào các dự án thực tế của mình.
Các bạn có thể tải source code bài này ở đây:http://www.mediafire.com/file/sxi7swegsgcsz17/HocXuLyMang_2d.rar
Hẹn gặp các bạn ở những bài tiếp theo
Chúc các bạn thành công!
Trần Duy Thanh (http://communityuni.com/)