Bài 20- Xử lý mảng hai chiều trong Kotlin


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<String>) {
var M:Array<IntArray> = 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://ssoftinc.com/)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: