Làm việc với List

Một phần của tài liệu Ngôn ngữ lập trình dart cơ bản (Trang 30 - 37)

3. List: The Dart Array

3.2Làm việc với List

Như đã thảo luận, List là một kiểu của đối tượng và nó có những phương thức cũng như thuộc tính cụ thể.

Indexing

Vị trí của phần tử đầu tiên trong danh sách sẽ là 0.

Bởi vì mỗi phần tử đều có một vị trí riêng của nó cho nên một danh sách có thể chứa nhiều phần tử trùng nhau. Mặc dù trùng nhau nhưng chúng đều có ví trí khác nhau. Ví dụ như danh sách với 5 phần tử giống nhau bên dưới.

Truy vấn một phần tử

Để truy vấn một phần tử tại một vị trí cụ thể chúng ta có thể sử dụng dấu ngoặc vuông [].

Syntax như sau:

Output: carrot

Trong ví dụ bên trên chúng ta truy vấn phần tử thứ hai của danh sách

listOfVegetables, phần tử có vị trí index là 1.

Tính độ dài của list

Độ dài của danh sách đơn giản chỉ là số phần tử trong danh sách đó. Đê biết được độ dài của danh sách, chúng ta có thể truy cập thuộc tính length và sử dụng toán tử . để truy cập bất cứ thuộc tính nào mà ta muốn.

Syntax như sau:

Ví dụ:

Output: 3

Thêm một phần tử đơn

Chúng ta thêm một phần tử mới vào danh sách hiện tai bằng cách sử dụng phương thức add. Điều này đúng khi và chỉ khi phần tử được thêm phải cùng kiểu với các phần tử đã có trong danh sách.

Phương thức add có một tham số duy nhất đó chính là phần tử bạn muốn thêm và danh sách. Kiểu của tham số phụ thuộc vào danh sách mà bạn dùng phương thức gọi vào. Syntax như sau:

Output: [potato,carrot,cucumber,cabbage] ❖ Thêm nhiều phần tử

Chúng ta có thể thêm nhiều một phần tử mới vào danh sách hiện tại bằng cách sử dụng phương thức addAll. Tương tự, điều kiện, duy nhất là phần tử thêm phải cùng kiểu với các phần tử đã có trong danh sách.

addAll cơ bản là gộp các phần tử của hai sách lại thành một.

Syntax như sau:

Output:

[potato, carrot, cucumber, cabbage, broccoli, zucchini] [potato, carrot, cucumber, cabbage, broccoli, zucchini, okra, capsicum]

Xóa một phần tử đơn

Để xóa một phần tử từ danh sách hiện tai, chúng ta có thể sử dụng phương thức

removeAt. Phương thức removeAt có một tham số duy nhất đó chính là phần tử bạn

muốn xóa khỏi danh sách. Kiểu tham số đó là int. Syntax sẽ như sau:

Output:

[carrot, cucumber, cabbage, broccoli, zucchini] [carrot, cucumber, broccoli, zucchini]

Nếu bạn muốn xóa một phần tử nhưng không biết số thứ tự của nó thì hãy sử dụng phương thức indexOf mà chúng ta đã thảo luận ở trên. (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ:

Output: [cucumber, zucchini]

Xóa tất cả các phần tử

Để xóa tất cả các phần tử khởi tạo danh sách, chúng ta chỉ cần gọi phương thức clear.

Một phương thức không có tham số khởi tạo nào cả Ví dụ:

Output: []

Phương thức map()

Kiểu List có một phương thức được biết là map(), nó khác với collection Map.

map() map tất cả các phần tử của list vào một biểu thức hoặc câu lệnh. Ví dụ chúng ta

có thể có một danh sách các số nguyên và chúng ta muốn tính bình phương của mỗi số nguyên trong danh sách. map() của List được sử dụng để giải quyết những vấn đề như vậy.

Syntax như sau:

Iterator có thể là bất cứ cái tên nào. Nó cơ bản là một kiểu biến lấy giá trị của từng

phần tử trong danh sách. Iterator bắt đầu lấy phần tử đầu tiên trong danh sách và sau đó sẽ áp dụng phần tử đó vào câu lệnh. Tương tự như vây cho đến khi không còn phần tử nào để lấy nữa.

Trong ví dụ bên dưới, chúng ta có danh sách các loại rau và chúng ta sẽ in từ “I love vegetable”. Trong đó từ “vegetables” sẽ được thay thế bằng từng phần tử trong list.

Output: (I love carrot, I love cucumber, I love zucchini)

Để chuyển đổi kết quả của map() thành một danh sách chúng ta có thể dùng phương thức toList()

Hãy điều chỉnh đoạn code bên trên:

Output: [I love carrot, I love cucumber, I love zucchini] 4. Cấu trúc dữ liệu set

Trong ngôn ngữ Dart, một set là một tập hợp không theo thứ tự của các phần tử riêng biệt. Điều này có nghĩa là các phần tử đó sẽ không có một vị trí cụ thể ở trong Set. Do đó, một set sẽ không thể tạo ra các bản sao của cùng một phần tử.

Một phần của tài liệu Ngôn ngữ lập trình dart cơ bản (Trang 30 - 37)